Code

git-relink: avoid hard linking in objects/info directory
authorBrandon Casey <casey@nrlssc.navy.mil>
Tue, 29 Jan 2008 22:41:30 +0000 (16:41 -0600)
committerJunio C Hamano <gitster@pobox.com>
Wed, 30 Jan 2008 08:01:27 +0000 (00:01 -0800)
git-relink is intended to search for packs and loose objects in
common between two repositories and to replace the one set with
hard links to the other. Files other than packs and loose objects
should not be touched, so add the "info" sub-directory to the
pattern of directory excludes.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-relink.perl

index f6b4f6a2f81767fdcb2ccadbf7757eaa2b556c36..15fb932021e03e2b7b856b3a2285021be2ebac61 100755 (executable)
@@ -40,7 +40,7 @@ my $master_dir = pop @dirs;
 opendir(D,$master_dir . "objects/")
        or die "Failed to open $master_dir/objects/ : $!";
 
-my @hashdirs = grep !/^\.{1,2}$/, readdir(D);
+my @hashdirs = grep { ($_ eq 'pack') || /^[0-9a-f]{2}$/ } readdir(D);
 
 foreach my $repo (@dirs) {
        $linked = 0;