git-svnimport: -r adds svn revision number to commit messages

New -r flag for prepending the corresponding Subversion revision
number to each commit message.

Signed-off-by: Karl Hasselström <kha@treskal.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Karl Hasselström
2006-02-14 03:43:34 +01:00
committed by Junio C Hamano
parent 6a9b87972f
commit 0a48a344c6
2 changed files with 8 additions and 3 deletions

View File

@ -61,6 +61,10 @@ When importing incrementally, you might need to edit the .git/svn2git file.
the git repository. Use this option if you want to import into a the git repository. Use this option if you want to import into a
different branch. different branch.
-r::
Prepend 'rX: ' to commit messages, where X is the imported
subversion revision.
-m:: -m::
Attempt to detect merges based on the commit message. This option Attempt to detect merges based on the commit message. This option
will enable default regexes that try to capture the name source will enable default regexes that try to capture the name source

View File

@ -30,19 +30,19 @@ die "Need SVN:Core 1.2.1 or better" if $SVN::Core::VERSION lt "1.2.1";
$SIG{'PIPE'}="IGNORE"; $SIG{'PIPE'}="IGNORE";
$ENV{'TZ'}="UTC"; $ENV{'TZ'}="UTC";
our($opt_h,$opt_o,$opt_v,$opt_u,$opt_C,$opt_i,$opt_m,$opt_M,$opt_t,$opt_T,$opt_b,$opt_s,$opt_l,$opt_d,$opt_D); our($opt_h,$opt_o,$opt_v,$opt_u,$opt_C,$opt_i,$opt_m,$opt_M,$opt_t,$opt_T,$opt_b,$opt_r,$opt_s,$opt_l,$opt_d,$opt_D);
sub usage() { sub usage() {
print STDERR <<END; print STDERR <<END;
Usage: ${\basename $0} # fetch/update GIT from SVN Usage: ${\basename $0} # fetch/update GIT from SVN
[-o branch-for-HEAD] [-h] [-v] [-l max_rev] [-o branch-for-HEAD] [-h] [-v] [-l max_rev]
[-C GIT_repository] [-t tagname] [-T trunkname] [-b branchname] [-C GIT_repository] [-t tagname] [-T trunkname] [-b branchname]
[-d|-D] [-i] [-u] [-s start_chg] [-m] [-M regex] [SVN_URL] [-d|-D] [-i] [-u] [-r] [-s start_chg] [-m] [-M regex] [SVN_URL]
END END
exit(1); exit(1);
} }
getopts("b:C:dDhil:mM:o:s:t:T:uv") or usage(); getopts("b:C:dDhil:mM:o:rs:t:T:uv") or usage();
usage if $opt_h; usage if $opt_h;
my $tag_name = $opt_t || "tags"; my $tag_name = $opt_t || "tags";
@ -650,6 +650,7 @@ sub commit {
$pr->reader(); $pr->reader();
$message =~ s/[\s\n]+\z//; $message =~ s/[\s\n]+\z//;
$message = "r$revision: $message" if $opt_r;
print $pw "$message\n" print $pw "$message\n"
or die "Error writing to git-commit-tree: $!\n"; or die "Error writing to git-commit-tree: $!\n";