author | Eric Wong <normalperson@yhbt.net> | |
Mon, 20 Jul 2009 09:06:24 +0000 (02:06 -0700) | ||
committer | Eric Wong <normalperson@yhbt.net> | |
Thu, 23 Jul 2009 06:45:29 +0000 (23:45 -0700) | ||
commit | 4aacaeb3dc82bb6479e70e120053dc27a399460e | |
tree | c6c4f11b5117d58587d612866b8bf87b625d126c | tree | snapshot |
parent | 0ad8ff2cd185e84fd49dd961370411e379681f10 | commit | diff |
git svn: fix shallow clone when upstream revision is too new
Thanks to Ka-Hing Cheung for the initial bug report and patch:
> 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).
Relying on SVN::Core::INVALID_REVNUM (-1) as the "start"
argument to SVN::Ra::get_log() proved unreliable with http(s)
URLs so the result of SVN::Ra::get_latest_revnum() is used as
the "start" argument instead.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Thanks to Ka-Hing Cheung for the initial bug report and patch:
> 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).
Relying on SVN::Core::INVALID_REVNUM (-1) as the "start"
argument to SVN::Ra::get_log() proved unreliable with http(s)
URLs so the result of SVN::Ra::get_latest_revnum() is used as
the "start" argument instead.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
git-svn.perl | diff | blob | history | |
t/t9142-git-svn-shallow-clone.sh | [new file with mode: 0755] | blob |