tar won't extract all files when a file with exe extension precedes the same without extension inside the archive

Andy Hall fixpertise-consulting@comcast.net
Thu Jul 12 16:26:00 GMT 2012

> On 7/12/2012 8:03 AM, Andrey Repin wrote:
> > Greetings, Steven Hartland!
> >
> >>> There really is not much point in rehashing this again under a
> different
> >>> subject.
> >>>
> >>> If you or anyone would like to offer patches which change the behavior
> > <emphasis>
> >>> while keeping everyone happy about .exe handling
> > </emphasis>
> >>> please do so.
> >
> >> Isn't the commit which changed the behaviour stored so where,
> >> as this has worked fine in the past, so in theory it could be
> >> just applied in reverse?
> >
> > Reading comprehension is the skill you should train. Really.
> Indeed Steven.  Please review all the comments from this thread and
> the history of this change.  While you view this as a bug, others
> view it as a feature.  This is one area where Cygwin has to try to
> straddle the Windows and Linux worlds and there is no completely
> painless solution.  There are multiple workarounds that have already
> been presented to you if this new behavior doesn't suit your needs.
> Or you can "wow" us all with your abilities to find a comprehensive
> solution that no one has found before.
> --
> Larry

At the risk of adding more fuel to the fire, let me add my 2 cents worth to

1.  As a long time and frequent user of tar and rsync to transfer files and
directories between Windows and various UNIX flavors, I have been astonished
(and severely burned) by the fact that transferring  files back and forth
between Windows and other UNIX machines via tar, rsync, cp -r or other
similar mechanisms are not idempotent operations, at least with respect to
file names and contents.  This violates the "principle of least
astonishment" not to mention that it breaks things in not so obvious and
surprising ways when it happens.  

2.  Since this is a "Windows thing", is there some reason why the execution
of "file" or "file.exe" isn't handled as a special case in the exec call
(and all its flavors) and no place else?  For example, it would seem that if
exec is asked to run "file" with no .exe extension and that file  does not
exist or is not executable, then it could try "file.exe" if that exists and
is executable.  

Andy Hall

Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

More information about the Cygwin mailing list