aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Langhoff <martin@catalyst.net.nz>2007-01-08 19:43:39 +1300
committerJunio C Hamano <junkio@cox.net>2007-01-08 03:01:16 -0800
commitded9f40059b185cd88569aa349784f140418f400 (patch)
tree16beac2f941e8cf02729266338eed04f6f393275
parent9a5e4075a4b54581821584386e5e184a57f06d18 (diff)
downloadgit-ded9f40059b185cd88569aa349784f140418f400.tar.gz
git-ded9f40059b185cd88569aa349784f140418f400.tar.xz
cvsimport: skip commits that are too recent (option and documentation)
This makes the earlier "wait for 10 minutes before importing" safety overridable with "-a(ll)" flag, and adds necessary documentation. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Documentation/git-cvsimport.txt7
-rwxr-xr-xgit-cvsimport.perl8
2 files changed, 11 insertions, 4 deletions
diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt
index d21d66bfe..6deee94bd 100644
--- a/Documentation/git-cvsimport.txt
+++ b/Documentation/git-cvsimport.txt
@@ -90,7 +90,8 @@ If you need to pass multiple options, separate them with a comma.
Print a short usage message and exit.
-z <fuzz>::
- Pass the timestamp fuzz factor to cvsps.
+ Pass the timestamp fuzz factor to cvsps, in seconds. If unset,
+ cvsps defaults to 300s.
-s <subst>::
Substitute the character "/" in branch names with <subst>
@@ -99,6 +100,10 @@ If you need to pass multiple options, separate them with a comma.
CVS by default uses the unix username when writing its
commit logs. Using this option and an author-conv-file
in this format
+
+-a::
+ Import all commits, including recent ones. cvsimport by default
+ skips commits that have a timestamp less than 10 minutes ago.
+
---------
exon=Andreas Ericsson <ae@op5.se>
diff --git a/git-cvsimport.perl b/git-cvsimport.perl
index 26867751d..a86ee3cb1 100755
--- a/git-cvsimport.perl
+++ b/git-cvsimport.perl
@@ -29,7 +29,7 @@ use IPC::Open2;
$SIG{'PIPE'}="IGNORE";
$ENV{'TZ'}="UTC";
-our ($opt_h,$opt_o,$opt_v,$opt_k,$opt_u,$opt_d,$opt_p,$opt_C,$opt_z,$opt_i,$opt_P, $opt_s,$opt_m,$opt_M,$opt_A,$opt_S,$opt_L);
+our ($opt_h,$opt_o,$opt_v,$opt_k,$opt_u,$opt_d,$opt_p,$opt_C,$opt_z,$opt_i,$opt_P, $opt_s,$opt_m,$opt_M,$opt_A,$opt_S,$opt_L, $opt_a);
my (%conv_author_name, %conv_author_email);
sub usage() {
@@ -37,7 +37,7 @@ sub usage() {
Usage: ${\basename $0} # fetch/update GIT from CVS
[-o branch-for-HEAD] [-h] [-v] [-d CVSROOT] [-A author-conv-file]
[-p opts-for-cvsps] [-C GIT_repository] [-z fuzz] [-i] [-k] [-u]
- [-s subst] [-m] [-M regex] [-S regex] [CVS_module]
+ [-s subst] [-a] [-m] [-M regex] [-S regex] [CVS_module]
END
exit(1);
}
@@ -105,6 +105,8 @@ if ($opt_d) {
}
$opt_o ||= "origin";
$opt_s ||= "-";
+$opt_a ||= 0;
+
my $git_tree = $opt_C;
$git_tree ||= ".";
@@ -829,7 +831,7 @@ while (<CVS>) {
$state = 11;
next;
}
- if ( $starttime - 300 - (defined $opt_z ? $opt_z : 300) <= $date) {
+ if (!$opt_a && $starttime - 300 - (defined $opt_z ? $opt_z : 300) <= $date) {
# skip if the commit is too recent
# that the cvsps default fuzz is 300s, we give ourselves another
# 300s just in case -- this also prevents skipping commits