From: Jonathan Nieder <jrnieder@gmail.com>
To: Eric Wong <normalperson@yhbt.net>
Cc: Jon Dowland <jmtd@debian.org>, git@vger.kernel.org
Subject: [PATCH/RFC] git-svn: strip off leading slashes on --trunk argument
Date: Sun, 13 Jun 2010 06:27:43 -0500 [thread overview]
Message-ID: <20100613112743.GA21855@burratino> (raw)
In-Reply-To: <20090915113634.GC22524@ra.ncl.ac.uk>
The following command
git svn clone \
-r9500:10006 \
svn://svn.debian.org/svn/pkg-games/packages \
--trunk=/trunk/freedoom \
--branches=/branches/freedoom \
--tags=/tags/freedoom \
freedoom.git.2009091
produces strange results:
With v1.6.3.3 (and perhaps earlier versions), this would fetch up to
and including r9978 (the last revision of the no_iwad_alternatives
branch before it was deleted), check it out, and prematurely declare
success, leaving out some commits to the trunk (r9984, r9985, r10006)
from after the branch was merged.
With v1.6.5-rc0~74 (svn: allow branches outside of refs/remotes,
2009-08-11) and later, this fetches up to and including r9978 and then
attempts a post-fetch checkout and fails.
r9978 = 25f0920175c395f0f22f54ae7a2318147f745274
(refs/remotes/no_iwad_alternatives)
fatal: refs/remotes/trunk: not a valid SHA1
update-ref refs/heads/master refs/remotes/trunk: command returned error: 128
Checking .git/config reveals
fetch = packages//trunk/freedoom:refs/remotes/trunk
And with both 1.6.3.3 and 1.7.1, using --trunk=trunk/freedom without
the leading slash (/) works fine.
Moral: git-svn needs to scrub an initial / from $_trunk and related
arguments it receives. Make it so.
Reported-by: Jon Dowland <jmtd@debian.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Hi Eric,
It’s not clear to me what’s going on here, but this seems to fix it. Insights?
Jonathan
From
http://bugs.debian.org/546733
http://bugs.debian.org/572847
git-svn.perl | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl
index 265852f..a352000 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -959,6 +959,7 @@ sub cmd_multi_init {
}
do_git_init_db();
if (defined $_trunk) {
+ $_trunk =~ s#^/+##;
my $trunk_ref = 'refs/remotes/' . $_prefix . 'trunk';
# try both old-style and new-style lookups:
my $gs_trunk = eval { Git::SVN->new($trunk_ref) };
--
1.7.0.dirty
next parent reply other threads:[~2010-06-13 11:28 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20090915113634.GC22524@ra.ncl.ac.uk>
2010-06-13 11:27 ` Jonathan Nieder [this message]
2010-06-14 4:57 ` [PATCH/RFC] git-svn: strip off leading slashes on --trunk argument Eric Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100613112743.GA21855@burratino \
--to=jrnieder@gmail.com \
--cc=git@vger.kernel.org \
--cc=jmtd@debian.org \
--cc=normalperson@yhbt.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).