threads / patch / 7891

patchimport-tars: be nice to wrong directory modes

Subject: [PATCH] import-tars: be nice to wrong directory modes

## tl;dr

5 messages between Apr 28, 2007 and Apr 29, 2007. Diffs are folded; open one to read it.

replies: 4people: 4as markdown or json

Johannes Schindelin· Apr 28, 2007, 23:59 UTC · lore

Some tars seem to have modes 0755 for directories, not 01000755. Do not generate an empty object for them, but ignore them.

Noticed by riddochc on IRC.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 contrib/fast-import/import-tars.perl |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
Show changes to contrib/fast-import/import-tars.perl +1 −0
diff --git a/contrib/fast-import/import-tars.perl b/contrib/fast-import/import-tars.perl
index 1842146..5575080 100755
--- a/contrib/fast-import/import-tars.perl
+++ b/contrib/fast-import/import-tars.perl
@@ -52,6 +52,7 @@ foreach my $tar_file (@ARGV)
 			Z8 Z1 Z100 Z6
 			Z2 Z32 Z32 Z8 Z8 Z*', $_;
 		last unless $name;
+		next if $name =~ '/$';
 		$mode = oct $mode;
 		$size = oct $size;
 		$mtime = oct $mtime;
-- 
1.5.2.rc0.2496.g74f7
Shawn O. Pearce· Apr 29, 2007, 00:08 UTC · re: Johannes Schindelin · lore

Re: [PATCH] import-tars: be nice to wrong directory modes

Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> 
> Some tars seem to have modes 0755 for directories, not 01000755. Do
> not generate an empty object for them, but ignore them.

This fix is small and corrects a rather ugly repository corruption, so I've applied it to my gfi-maint branch.

-- 
Shawn.
Junio C Hamano· Apr 29, 2007, 01:07 UTC · re: Shawn O. Pearce · lore

Re: [PATCH] import-tars: be nice to wrong directory modes

"Shawn O. Pearce" <spearce@spearce.org> writes:
Show 7 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
>> 
>> Some tars seem to have modes 0755 for directories, not 01000755. Do
>> not generate an empty object for them, but ignore them.
>
> This fix is small and corrects a rather ugly repository corruption,
> so I've applied it to my gfi-maint branch.

Good teamplay. So you want me to pull gfi-maint to maint and gfi-master to master?

Shawn O. Pearce· Apr 29, 2007, 01:11 UTC · re: Junio C Hamano · lore

Re: [PATCH] import-tars: be nice to wrong directory modes

Junio C Hamano <junkio@cox.net> wrote:
Show 12 quoted lines
> "Shawn O. Pearce" <spearce@spearce.org> writes:
> 
> > Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> >> 
> >> Some tars seem to have modes 0755 for directories, not 01000755. Do
> >> not generate an empty object for them, but ignore them.
> >
> > This fix is small and corrects a rather ugly repository corruption,
> > so I've applied it to my gfi-maint branch.
> 
> Good teamplay.  So you want me to pull gfi-maint to maint and
> gfi-master to master?
Right.
And apply the fsck patch i sent to the list.  ;-)
 
-- 
Shawn.
Randal L. Schwartz· Apr 29, 2007, 01:36 UTC · re: Johannes Schindelin · lore

Re: [PATCH] import-tars: be nice to wrong directory modes

>>>>> "Johannes" == Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Johannes> +		next if $name =~ '/$';

This is misleading. That's a regex there. And it also falsely matches a string ending in "/\n", but I bet there are parts of git that break on those filenames too. :)

Consider:
        next if $name =~ m{/\z};
which matches precisely when the filename ends in /.
-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

← back to recent threads