Skip to content

Commit

Permalink
[PATCH] cvs2git.c: support incremental conversion
Browse files Browse the repository at this point in the history
Add -u option to indicate incremental conversion.

I wanted to be able to track CVS repositories in a GIT repository.  The
cvs2git program worked fine with the initial import but needed a tiny
modification to enable me to resync the GIT repository with the updated
CVS tree.

[ The original version of this patch failed to track the correct
  branch on the first new commit. Fixed and tested by Sven. ]

Signed-off-by: Panagiotis Issaris <takis@lumumba.luc.ac.be>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Panagiotis Issaris authored and Linus Torvalds committed Jun 19, 2005
1 parent 44ab20c commit 31b6d20
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions cvs2git.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,17 @@ static int verbose = 0;
* Usage:
*
* TZ=UTC cvsps -A |
* cvs2git --cvsroot=[root] --module=[module] > script
* git-cvs2git --cvsroot=[root] --module=[module] > script
*
* Creates a shell script that will generate the .git archive of
* the names CVS repository.
*
* TZ=UTC cvsps -s 1234- -A |
* git-cvs2git -u --cvsroot=[root] --module=[module] > script
*
* Creates a shell script that will update the .git archive with
* CVS changes from patchset 1234 until the last one.
*
* IMPORTANT NOTE ABOUT "cvsps"! This requires version 2.1 or better,
* and the "TZ=UTC" and the "-A" flag is required for sane results!
*/
Expand Down Expand Up @@ -233,6 +239,10 @@ int main(int argc, char **argv)
verbose = 1;
continue;
}
if (!strcmp(arg, "-u")) {
initial_commit = 0;
continue;
}
}


Expand All @@ -244,11 +254,13 @@ int main(int argc, char **argv)
exit(1);
}

printf("[ -d .git ] && exit 1\n");
printf("git-init-db\n");
printf("mkdir -p .git/refs/heads\n");
printf("mkdir -p .git/refs/tags\n");
printf("ln -sf refs/heads/master .git/HEAD\n");
if (initial_commit) {
printf("[ -d .git ] && exit 1\n");
printf("git-init-db\n");
printf("mkdir -p .git/refs/heads\n");
printf("mkdir -p .git/refs/tags\n");
printf("ln -sf refs/heads/master .git/HEAD\n");
}

while (fgets(line, sizeof(line), stdin) != NULL) {
int linelen = strlen(line);
Expand Down

0 comments on commit 31b6d20

Please sign in to comment.