"Rafael Garcia-Suarez" <rgarciasuarez@xxxxxxxxx> writes: >> opendir(D,$master_dir . "objects/") >> or die "Failed to open $master_dir/objects/ : $!"; >> >> -my @hashdirs = grep !/^\.{1,2}$/, readdir(D); >> +my @hashdirs = grep !/^(\.{1,2}|info)$/, readdir(D); > > That looks a bit fragile. If the intent is to get a list of files in > $master_dir, why not simply say: > > my @hashdirs = grep -f, readdir(D); > > That will appropriately skip ., .. and any other dirs. The statement is trying to find directories whose names match /^[0-9a-f]{2}$/ (two hexdigits) or /^pack$/. But I do agree that listing things to skip is a fragile approach than listing things you know are safe to relink. How about doing it this way instead? git-relink.perl | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/git-relink.perl b/git-relink.perl index f6b4f6a..9101926 100755 --- a/git-relink.perl +++ b/git-relink.perl @@ -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; - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html