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

[PATCH] Add -k kill keyword expansion option to git-cvsimport

From
Martin Langhoff <martin.langhoff@gmail.com>
Date
Aug 15, 2005, 06:51 UTC
Message-ID
<46a038f9050814235140877be7@mail.gmail.com>
[PATCH] Add -k kill keyword expansion option to git-cvsimport

Early versions of git-cvsimport defaulted to using preexisting keyword expansion settings. This change preserves compatibility with existing cvs imports and allows new repository migrations to kill keyword expansion.

Should improve our chances of detecting merges and reduce imported repository size.

Signed-off: Martin Langhoff <martin.langhoff@gmail.com>
---
 Documentation/git-cvsimport-script.txt |    7 ++++++-
 git-cvsimport-script                   |   10 ++++++----
 2 files changed, 12 insertions(+), 5 deletions(-)
f0b33908e48ac75a1e3f08a3e3159de3a9a371d9
diff --git a/Documentation/git-cvsimport-script.txt
b/Documentation/git-cvsimport-script.txt
--- a/Documentation/git-cvsimport-script.txt
+++ b/Documentation/git-cvsimport-script.txt
@@ -11,7 +11,7 @@ SYNOPSIS
 --------
 'git-cvsimport-script' [ -o <branch-for-HEAD> ] [ -h ] [ -v ]
                       [ -d <CVSROOT> ] [ -p <options-for-cvsps> ]
-                       [ -C <GIT_repository> ] [ -i ] [ <CVS_module> ]
+                       [ -C <GIT_repository> ] [ -i ] [ -k ] [ <CVS_module> ]


 DESCRIPTION
@@ -34,6 +34,11 @@ OPTIONS
       ensures the working directory and cache remain untouched and will
       not create them if they do not exist.

+-k::
+       Kill keywords: will extract files with -ko from the CVS archive
+       to avoid noisy changesets. Highly recommended, but off by default
+       to preserve compatibility with early imported trees.
+
 -o <branch-for-HEAD>::
       The 'HEAD' branch from CVS is imported to the 'origin' branch within
       the git repository, as 'HEAD' already has a special meaning for git.
diff --git a/git-cvsimport-script b/git-cvsimport-script
--- a/git-cvsimport-script
+++ b/git-cvsimport-script
@@ -35,12 +35,12 @@ sub usage() {
 Usage: ${\basename $0}     # fetch/update GIT from CVS
       [ -o branch-for-HEAD ] [ -h ] [ -v ] [ -d CVSROOT ]
       [ -p opts-for-cvsps ] [ -C GIT_repository ] [ -z fuzz ]
-       [ -i ] [ CVS_module ]
+       [ -i ] [ -k ] [ CVS_module ]
 END
       exit(1);
 }

-getopts("hivo:d:p:C:z:") or usage();
+getopts("hivko:d:p:C:z:") or usage();
 usage if $opt_h;

 @ARGV <= 1 or usage();
@@ -218,8 +218,10 @@ sub _file {
       my($self,$fn,$rev) = @_;
       $self->{'socketo'}->write("Argument -N\n") or return undef;
       $self->{'socketo'}->write("Argument -P\n") or return undef;
-       # $self->{'socketo'}->write("Argument -ko\n") or return undef;
-       # -ko: Linus' version doesn't use it
+       # -ko: Linus' version doesn't use it - defaults to off
+       if ($opt_k) {
+           $self->{'socketo'}->write("Argument -ko\n") or return undef;
+       }
       $self->{'socketo'}->write("Argument -r\n") or return undef;
       $self->{'socketo'}->write("Argument $rev\n") or return undef;
       $self->{'socketo'}->write("Argument --\n") or return undef;
Next: Martin Langhoff
Message 1 of 12 in “Add -k kill keyword expansion option to git-cvsimport”
  1. Add -k kill keyword expansion option to git-cvsimportMartin Langhoff, Aug 15, 2005
  2. Martin LanghoffAug 15, 2005
  3. Junio C HamanoAug 15, 2005
  4. Martin LanghoffAug 15, 2005
  5. Junio C HamanoAug 15, 2005
  6. Martin LanghoffAug 15, 2005
  7. Junio C HamanoAug 15, 2005
  8. Junio C HamanoAug 15, 2005
  9. Martin LanghoffAug 15, 2005
  10. Martin LanghoffAug 15, 2005
  11. Junio C HamanoAug 16, 2005
  12. Martin LanghoffAug 16, 2005

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.