threads / patch / 10616

patchgit-cvsimport: really convert underscores in branch names to dots with -u

Subject: [PATCH] git-cvsimport: really convert underscores in branch names to dots with -u

## tl;dr

2 messages between Nov 3, 2007 and Mar 11, 2008. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Gerrit Pape· Nov 3, 2007, 11:55 UTC · lore

The documentation states for the -u option that underscores in tag and branch names are converted to dots, but this was actually implemented for the tag names only.

Kurt Roeckx reported this through
 http://bugs.debian.org/446495
Signed-off-by: Gerrit Pape <pape@smarden.org>
---
 git-cvsimport.perl |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
Show changes to git-cvsimport.perl +1 −0
diff --git a/git-cvsimport.perl b/git-cvsimport.perl
index 2954fb8..e4bc2b5 100755
--- a/git-cvsimport.perl
+++ b/git-cvsimport.perl
@@ -818,6 +818,7 @@ while (<CVS>) {
 		$state = 4;
 	} elsif ($state == 4 and s/^Branch:\s+//) {
 		s/\s+$//;
+		tr/_/\./ if ( $opt_u );
 		s/[\/]/$opt_s/g;
 		$branch = $_;
 		$state = 5;
-- 
1.5.3.5
Andreas Fuchs· Mar 11, 2008, 15:56 UTC · re: Gerrit Pape · lore

git-cvsimport: creating bogus branches (was: really convert underscores in branch names to dots with -u)

Gerrit Pape <pape <at> smarden.org> writes:
> The documentation states for the -u option that underscores in tag and
> branch names are converted to dots, but this was actually implemented
> for the tag names only.

This causes a lot of problems for me with a tree that was using -u before this change: Now there are two git branches for each CVS branch: one with and one without underscores.

That's not so bad, but git-cvsimport seems to mess up the ancestry graph by using the current master's HEAD revision as the parent of each of these new branches. (I haven't debugged this completely, but what I see strongly suggests that this is what's happening.)

If you want to take a look at the mangled branches, its gitweb is at <http://git.boinkor.net/gitweb/sbcl-beta.git>. See for an example: <http://git.boinkor.net/gitweb/sbcl-beta.git?a=shortlog;h=refs/heads/alpha64.2.branch>. That's commit from 2003 having a parent commit from 2008. Right after that parent commit in 2008 was when I started using the new git-cvsimport.

Note that I'm not strongly to rewriting underscores in branch names as documented, but the way things are now, I'd have preferred the transition happening in a backwards-compatible way (-:

Cheers, Andreas.

← back to recent threads