git-svn: teach find-rev to find near matches

When a single SVN repository is split into multiple Git repositories
many SVN revisions will exist in only one of the Git repositories
created.  For some projects the only way to build a working artifact is
to check out corresponding versions of various repositories, with no
indication of what those are in the Git world - in the SVN world the
revision numbers are sufficient.

By adding "--before" to "git-svn find-rev" we can say "tell me what this
repository looked like when that other repository looked like this":

    git svn find-rev --before \
        r$(git --git-dir=/over/there.git svn find-rev HEAD)

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
This commit is contained in:
John Keeping
2013-01-17 22:19:33 +00:00
committed by Eric Wong
parent 9012f571b4
commit 2934a484fd
2 changed files with 20 additions and 2 deletions

View File

@ -346,6 +346,16 @@ Any other arguments are passed directly to 'git log'
corresponding git commit hash (this can optionally be followed by a
tree-ish to specify which branch should be searched). When given a
tree-ish, returns the corresponding SVN revision number.
+
--before;;
Don't require an exact match if given an SVN revision, instead find
the commit corresponding to the state of the SVN repository (on the
current branch) at the specified revision.
+
--after;;
Don't require an exact match if given an SVN revision; if there is
not an exact match return the closest match searching forward in the
history.
'set-tree'::
You should consider using 'dcommit' instead of this command.