git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] git-cvsimport: Add -N option to force a new import

From
Matt McCutchen <matt@mattmccutchen.net>
Date
Oct 24, 2007, 23:28 UTC
Message-ID
<1193268519.8008.11.camel@mattlaptop2>

I had a git repository for development of rsync and wanted to start importing the upstream CVS with git-cvsimport, but git-cvsimport saw that the git repository existed and insisted on updating a previous import. This patch adds an -N option to git-cvsimport to force a new import and updates the documentation appropriately.

Signed-off-by: Matt McCutchen <matt@mattmccutchen.net>
---
I implemented this because I needed it; adopt it in the main git if you
like it.
 Documentation/git-cvsimport.txt |    5 ++++-
 git-cvsimport.perl              |    9 ++++++---
 2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt
index fdd7ec7..f595957 100644
--- a/Documentation/git-cvsimport.txt
+++ b/Documentation/git-cvsimport.txt
@@ -13,7 +13,7 @@ SYNOPSIS
 	      [-A <author-conv-file>] [-p <options-for-cvsps>] [-P <file>]
 	      [-C <git_repository>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>]
 	      [-a] [-m] [-M <regex>] [-S <regex>] [-L <commitlimit>]
-	      [-r <remote>] [<CVS_module>]
+	      [-r <remote>] [-N] [<CVS_module>]
 

 DESCRIPTION
@@ -144,6 +144,9 @@ It is not recommended to use this feature if you intend to
 export changes back to CVS again later with
 gitlink:git-cvsexportcommit[1].
 
+-N::
+	Do a new import even if the git repository already exists.
+
 -h::
 	Print a short usage message and exit.
 
diff --git a/git-cvsimport.perl b/git-cvsimport.perl
index 2954fb8..6f03be9 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, $opt_a, $opt_r);
+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, $opt_r, $opt_N);
 my (%conv_author_name, %conv_author_email);
 
 sub usage(;$) {
@@ -40,7 +40,7 @@ Usage: ${\basename $0}     # fetch/update GIT from CVS
        [-o branch-for-HEAD] [-h] [-v] [-d CVSROOT] [-A author-conv-file]
        [-p opts-for-cvsps] [-P file] [-C GIT_repository] [-z fuzz] [-i] [-k]
        [-u] [-s subst] [-a] [-m] [-M regex] [-S regex] [-L commitlimit]
-       [-r remote] [CVS_module]
+       [-r remote] [-N] [CVS_module]
 END
 	exit(1);
 }
@@ -114,7 +114,7 @@ sub read_repo_config {
     }
 }
 
-my $opts = "haivmkuo:d:p:r:C:z:s:M:P:A:S:L:";
+my $opts = "haivmkuNo:d:p:r:C:z:s:M:P:A:S:L:";
 read_repo_config($opts);
 getopts($opts) or usage();
 usage if $opt_h;
@@ -563,7 +563,10 @@ unless (-d $git_dir) {
 	die "Cannot init the GIT db at $git_tree: $?\n" if $?;
 	system("git-read-tree");
 	die "Cannot init an empty tree: $?\n" if $?;
+	$opt_N = 1;
+}
 
+if ($opt_N) {
 	$last_branch = $opt_o;
 	$orig_branch = "";
 } else {
-- 
1.5.3.3.128.g56927
Next: Junio C Hamano
Message 1 of 7 in “git-cvsimport: Add -N option to force a new import”
  1. git-cvsimport: Add -N option to force a new importMatt McCutchen, Oct 24, 2007
  2. Junio C HamanoOct 25, 2007
  3. Matt McCutchenOct 25, 2007
  4. Johannes SchindelinOct 25, 2007
  5. Robin RosenbergOct 25, 2007
  6. Matt McCutchenNov 6, 2007
  7. Piet DelaneyNov 6, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.