svn import: skip initial revisions
Add a flag to skip initial revisions: some SVN repositories have initial setup cruft in their logs which we might want to ignore. Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>maint
parent
bf267d99e8
commit
7ee74a99b2
|
@ -12,7 +12,7 @@ SYNOPSIS
|
||||||
'git-svnimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ]
|
'git-svnimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ]
|
||||||
[ -C <GIT_repository> ] [ -i ] [ -u ]
|
[ -C <GIT_repository> ] [ -i ] [ -u ]
|
||||||
[ -b branch_subdir ] [ -t trunk_subdir ] [ -T tag_subdir ]
|
[ -b branch_subdir ] [ -t trunk_subdir ] [ -T tag_subdir ]
|
||||||
[ -m ] [ -M regex ] [ <SVN_repository_URL> ]
|
[ -s start_chg ] [ -m ] [ -M regex ] [ <SVN_repository_URL> ]
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
|
@ -36,6 +36,11 @@ OPTIONS
|
||||||
The GIT repository to import to. If the directory doesn't
|
The GIT repository to import to. If the directory doesn't
|
||||||
exist, it will be created. Default is the current directory.
|
exist, it will be created. Default is the current directory.
|
||||||
|
|
||||||
|
-s <start_rev>::
|
||||||
|
Start importing at this SVN change number. The default is 1.
|
||||||
|
+
|
||||||
|
When importing incementally, you might need to edit the .git/svn2git file.
|
||||||
|
|
||||||
-i::
|
-i::
|
||||||
Import-only: don't perform a checkout after importing. This option
|
Import-only: don't perform a checkout after importing. This option
|
||||||
ensures the working directory and cache remain untouched and will
|
ensures the working directory and cache remain untouched and will
|
||||||
|
|
|
@ -31,19 +31,19 @@ die "Need CVN: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);
|
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);
|
||||||
|
|
||||||
sub usage() {
|
sub usage() {
|
||||||
print STDERR <<END;
|
print STDERR <<END;
|
||||||
Usage: ${\basename $0} # fetch/update GIT from CVS
|
Usage: ${\basename $0} # fetch/update GIT from CVS
|
||||||
[-o branch-for-HEAD] [-h] [-v]
|
[-o branch-for-HEAD] [-h] [-v]
|
||||||
[-C GIT_repository] [-t tagname] [-T trunkname] [-b branchname]
|
[-C GIT_repository] [-t tagname] [-T trunkname] [-b branchname]
|
||||||
[-i] [-u] [-s subst] [-m] [-M regex] [SVN_URL]
|
[-i] [-u] [-s start_chg] [-m] [-M regex] [SVN_URL]
|
||||||
END
|
END
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
getopts("b:C:hivmM:o:t:T:u") or usage();
|
getopts("b:C:hivmM:o:s:t:T:u") or usage();
|
||||||
usage if $opt_h;
|
usage if $opt_h;
|
||||||
|
|
||||||
my $tag_name = $opt_t || "tags";
|
my $tag_name = $opt_t || "tags";
|
||||||
|
@ -192,7 +192,7 @@ $ENV{GIT_INDEX_FILE} = $git_index;
|
||||||
my $maxnum = 0;
|
my $maxnum = 0;
|
||||||
my $last_rev = "";
|
my $last_rev = "";
|
||||||
my $last_branch;
|
my $last_branch;
|
||||||
my $current_rev = 0;
|
my $current_rev = $opt_s ? ($opt_s-1) : 0;
|
||||||
unless(-d $git_dir) {
|
unless(-d $git_dir) {
|
||||||
system("git-init-db");
|
system("git-init-db");
|
||||||
die "Cannot init the GIT db at $git_tree: $?\n" if $?;
|
die "Cannot init the GIT db at $git_tree: $?\n" if $?;
|
||||||
|
@ -364,7 +364,7 @@ sub commit {
|
||||||
}
|
}
|
||||||
|
|
||||||
my $rev;
|
my $rev;
|
||||||
if(defined $parent) {
|
if($revision > $opt_s and defined $parent) {
|
||||||
open(H,"git-rev-parse --verify $parent |");
|
open(H,"git-rev-parse --verify $parent |");
|
||||||
$rev = <H>;
|
$rev = <H>;
|
||||||
close(H) or do {
|
close(H) or do {
|
||||||
|
@ -377,7 +377,7 @@ sub commit {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$rev = $branches{($parent eq $opt_o) ? "/" : $parent}{"LAST"};
|
$rev = $branches{($parent eq $opt_o) ? "/" : $parent}{"LAST"};
|
||||||
if($revision != 1 and not $rev) {
|
if($revision != $opt_s and not $rev) {
|
||||||
print STDERR "$revision: do not know ancestor for '$parent'!\n";
|
print STDERR "$revision: do not know ancestor for '$parent'!\n";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue