From: Eric Wong Date: Tue, 15 Nov 2005 08:05:46 GMT Subject: [PATCH 1/2] archimport: allow for old style branch and public tag names Message-ID: <20051115080546.GA30506@Muzzle> In-Reply-To: <20051115080352.GG7484@mail.yhbt.net> This patch adds the -o switch, which lets old trees tracked by git-archmirror continue working with their old branch and tag names to make life easier for people tracking your tree. Private tags that are only used internally by git-archimport continue to be new-style, and automatically converted upon first run. Signed-off-by:: Eric Wong --- git-archimport.perl | 22 +++++++++++++++++----- 1 files changed, 17 insertions(+), 5 deletions(-) applies-to: 44d831812786f4dfbf54a67b51e5f48c7d5afd66 4b341dd903883db0a89fe2f04e93dab053beb045 diff --git a/git-archimport.perl b/git-archimport.perl index 1f721f6..304d462 100755 --- a/git-archimport.perl +++ b/git-archimport.perl @@ -67,12 +67,12 @@ my $git_dir = $ENV{"GIT_DIR"} || ".git"; $ENV{"GIT_DIR"} = $git_dir; my $ptag_dir = "$git_dir/archimport/tags"; -our($opt_h,$opt_v,$opt_T,$opt_t,$opt_D,$opt_a); +our($opt_h,$opt_v,$opt_T,$opt_t,$opt_D,$opt_a,$opt_o); sub usage() { print STDERR < part: +sub old_style_branchname { + my $id = shift; + my $ret = safe_pipe_capture($TLA,'parse-package-name','-p',$id); + chomp $ret; + return $ret; +} + +*git_branchname = $opt_o ? *old_style_branchname : *tree_dirname; # process patchsets in ancestry order foreach my $ps (@psets) { @@ -527,8 +535,12 @@ sub parselog { sub tag { my ($tag, $commit) = @_; - # don't use subdirs for tags yet, it could screw up other porcelains - $tag =~ s|/|,|; + if ($opt_o) { + $tag =~ s|/|--|g; + } else { + # don't use subdirs for tags yet, it could screw up other porcelains + $tag =~ s|/|,|g; + } if ($commit) { open(C,">","$git_dir/refs/tags/$tag") --- 0.99.9.GIT