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

Subsystems: the rest

STALE3735d

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

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

From: Gerrit Pape <hidden>
Date: 2016-06-15 22:43:46

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 <redacted>
---
 git-cvsimport.perl |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
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

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

From: Andreas Fuchs <hidden>
Date: 2016-06-15 22:44:22

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help