Re: git svn clone -r HEAD
- From
- Eric Wong <normalperson@yhbt.net>
- Date
- Jul 20, 2009, 05:55 UTC
- Message-ID
- <20090720055514.GA3229@dcvr.yhbt.net>
- In-Reply-To
- <1247771532.7382.115.camel@localhost>
Ka-Hing Cheung <kcheung@riverbed.com> wrote:
Show 15 quoted lines
> Hi (not subscribed),
>
> git-svn uses $ra->get_latest_revnum to find out the latest revision, but
> that can be problematic, because get_latest_revnum returns the latest
> revnum in the entire repository, not restricted by whatever URL you used
> to construct $ra. So if you do git svn clone -r HEAD
> svn://blah/blah/trunk, it won't work if the latest checkin is in one of
> the branches (it will try to fetch a rev that doesn't exist in trunk,
> making the clone useless).
>
> This change seems to work, sorry it's not a proper diff:
> @sub fetch_all {
> - my $head = $ra->get_latest_revnum;
> + my $head = undef;
> + $ra->get_log("", -1, 0, 1, 0, 1, sub { $head = $_[1] });Thanks Ka-Hing,
There's an unrelated issue with $ra->get_log being broken with http(s) URLs that need escaping, so t9118 is failing on me when SVN_HTTPD_PORT is set (I just found another fix that broke that test, too). I'll push out this fix when I can get t9118 fixed with HTTP.
-- Eric Wong