1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-06 02:56:11 +02:00

archimport: allow for old style branch and public tag names

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.

[ ml: rebased to skip import overhaul ]

Signed-off-by:: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
This commit is contained in:
Martin Langhoff 2005-11-17 21:20:45 +13:00
parent 22ff00fc8b
commit fee3365fe1

View File

@ -72,13 +72,12 @@ =head1 Devel Notes
$ENV{"GIT_DIR"} = $git_dir;
my $ptag_dir = "$git_dir/archimport/tags";
our($opt_h,$opt_v, $opt_T,
$opt_C,$opt_t);
our($opt_h,$opt_v, $opt_T,$opt_t,$opt_o);
sub usage() {
print STDERR <<END;
Usage: ${\basename $0} # fetch/update GIT from Arch
[ -h ] [ -v ] [ -T ] [ -t tempdir ]
[ -o ] [ -h ] [ -v ] [ -T ] [ -t tempdir ]
repository/arch-branch [ repository/arch-branch] ...
END
exit(1);
@ -263,7 +262,15 @@ sub tree_dirname {
return $name;
}
*git_branchname = *tree_dirname;
# old versions of git-archimport just use the <category--branch> 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
foreach my $ps (@psets) {
@ -629,8 +636,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")