Code

import-tars: Use the "Link indicator" to identify directories
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Wed, 16 May 2007 16:22:26 +0000 (17:22 +0100)
committerShawn O. Pearce <spearce@spearce.org>
Wed, 16 May 2007 18:54:22 +0000 (14:54 -0400)
Earlier, we used the mode to determine if a name was associated with
a directory. This fails, since some tar programs do not set the mode
correctly. However, the link indicator _has_ to be set correctly.

Noticed by Chris Riddoch.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Acked-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
contrib/fast-import/import-tars.perl

index f0b9a43abd469caa75d513b1f1a729714d1d899c..5bfd205225a65bb4909cb44c305fb6235518d52a 100755 (executable)
@@ -75,7 +75,7 @@ foreach my $tar_file (@ARGV)
                $mode = oct $mode;
                $size = oct $size;
                $mtime = oct $mtime;
-               next if $mode & 0040000;
+               next if $typeflag == 5; # directory
 
                print FI "blob\n", "mark :$next_mark\n", "data $size\n";
                while ($size > 0 && read(I, $_, 512) == 512) {