Code

Fix dcommit, rebase when rewriteRoot is in use
authorJohn Goerzen <jgoerzen@complete.org>
Sat, 8 Mar 2008 22:04:05 +0000 (16:04 -0600)
committerJunio C Hamano <gitster@pobox.com>
Sun, 9 Mar 2008 03:20:06 +0000 (19:20 -0800)
commit0bb91d9a6283661c32878f93a601828cac58d2d6
tree97f9e5e772aeb047beb209dbdb5ae356993b49da
parent655e8515f279c01f525745d443f509f97cd805ab
Fix dcommit, rebase when rewriteRoot is in use

When the rewriteRoot setting is used with git-svn, it causes the svn
IDs added to commit messages to bear a different URL than is actually
used to retrieve Subversion data.

It is common for Subversion repositories to be available multiple
ways: for instance, HTTP to the public, and svn+ssh to people with
commit access.  The need to switch URLs for access is fairly common as
well -- perhaps someone was just given commit access.  To switch URLs
without having to rewrite history, one can use the old url as a
rewriteRoot, and use the new one in the svn-remote url setting.

This works well for svn fetching and general git commands.

However, git-svn dcommit, rebase, and perhaps other commands do not
work in this scenario.  They scan the svn ID lines in commit messages
and attempt to match them up with url lines in [svn-remote] sections
in the git config.

This patch allows them to match rewriteRoot options, if such options
are present.

Signed-off-by: John Goerzen <jgoerzen@complete.org>
Acked-by: Eric Wong <normalperson@yhbt.net>
git-svn.perl