git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* cygwin: t3200-branch.sh fails with "List form of pipe open not implemented at -e line 22."
@ 2005-10-14 12:46 Alex Riesen
  2005-10-14 16:09 ` Junio C Hamano
  2005-10-14 17:57 ` H. Peter Anvin
  0 siblings, 2 replies; 6+ messages in thread
From: Alex Riesen @ 2005-10-14 12:46 UTC (permalink / raw)
  To: git

Now, how broken is that:

The message comes from one of the hooks, which are executed even
though they never meant to, because cygwin apparently uses file
content or name to detect executability (on FAT).

I just remove the hooks from repositories atm.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: cygwin: t3200-branch.sh fails with "List form of pipe open not implemented at -e line 22."
  2005-10-14 12:46 cygwin: t3200-branch.sh fails with "List form of pipe open not implemented at -e line 22." Alex Riesen
@ 2005-10-14 16:09 ` Junio C Hamano
  2005-10-14 17:57 ` H. Peter Anvin
  1 sibling, 0 replies; 6+ messages in thread
From: Junio C Hamano @ 2005-10-14 16:09 UTC (permalink / raw)
  To: Alex Riesen; +Cc: git

Alex Riesen <raa.lkml@gmail.com> writes:

> Now, how broken is that:
>
> The message comes from one of the hooks, which are executed even
> though they never meant to, because cygwin apparently uses file
> content or name to detect executability (on FAT).
>
> I just remove the hooks from repositories atm.

Ah, that indeed is broken.

We probably should fix it at two levels.

Unless a test is trying to make sure the hook mechanism works, I
think we should not have them in the t/trash/ test repository.
The initial git-init-db done at the end of t/test-lib.sh should
be changed to run with an explicit --template= parameter to not
copy templates from random places.  If somebody is going to do
this and supply a tested patch to me, it will also be nice to
add tests to specifically check the hook mechanism while she is
at it.

I think the original idea of using executable bit to control
whether the hook is enabled or not is still sound, but it may be
safer to have hooks in templates to have a suffix such as
.sample in their names *and* be executable --- the set of hooks
copied from default templates are still disabled, but now
instead of asking users to "chmod +x foo-hook", we ask them to
"mv foo-hook.sample foo-hook" if she wants to enable it.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: cygwin: t3200-branch.sh fails with "List form of pipe open not implemented at -e line 22."
  2005-10-14 12:46 cygwin: t3200-branch.sh fails with "List form of pipe open not implemented at -e line 22." Alex Riesen
  2005-10-14 16:09 ` Junio C Hamano
@ 2005-10-14 17:57 ` H. Peter Anvin
  2005-10-15 21:18   ` Alex Riesen
  1 sibling, 1 reply; 6+ messages in thread
From: H. Peter Anvin @ 2005-10-14 17:57 UTC (permalink / raw)
  To: Alex Riesen; +Cc: git

Alex Riesen wrote:
> Now, how broken is that:
> 
> The message comes from one of the hooks, which are executed even
> though they never meant to, because cygwin apparently uses file
> content or name to detect executability (on FAT).
> 
> I just remove the hooks from repositories atm.

I think the bottom line is "don't use FAT".

	-hpa

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: cygwin: t3200-branch.sh fails with "List form of pipe open not implemented at -e line 22."
  2005-10-14 17:57 ` H. Peter Anvin
@ 2005-10-15 21:18   ` Alex Riesen
  2005-10-16  7:46     ` Junio C Hamano
  0 siblings, 1 reply; 6+ messages in thread
From: Alex Riesen @ 2005-10-15 21:18 UTC (permalink / raw)
  To: H. Peter Anvin; +Cc: git

H. Peter Anvin, Fri, Oct 14, 2005 19:57:29 +0200:
> >Now, how broken is that:
> >
> >The message comes from one of the hooks, which are executed even
> >though they never meant to, because cygwin apparently uses file
> >content or name to detect executability (on FAT).
> >
> >I just remove the hooks from repositories atm.
> 
> I think the bottom line is "don't use FAT".
> 

I'm afraid I have to. NTFS isn't much better (newly created files
still have no correct attribute) and is slower (sometimes much
slower). Not that I have a choice, anyway: it's a typical corporate
workstation locked as down as possible.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: cygwin: t3200-branch.sh fails with "List form of pipe open not implemented at -e line 22."
  2005-10-15 21:18   ` Alex Riesen
@ 2005-10-16  7:46     ` Junio C Hamano
  2005-10-17  8:40       ` Alex Riesen
  0 siblings, 1 reply; 6+ messages in thread
From: Junio C Hamano @ 2005-10-16  7:46 UTC (permalink / raw)
  To: Alex Riesen; +Cc: git

Alex Riesen <raa.lkml@gmail.com> writes:

>> >The message comes from one of the hooks, which are executed even
>> >though they never meant to, because cygwin apparently uses file
>> >content or name to detect executability (on FAT).

Is this one of the hooks we ship as examples?  If so, that
means worse brokenness than just test failing.  It means that
the hook is not usable in your environment.

I presume it is this line in pre-commit sample hook:

    open $fh, "-|", qw(git-diff-index -p -M --cached HEAD);

Is Perl on Cygwin incapable of handle this in general, or is it
just what is on your machine being behind?

In the meantime, I've changed two things:

 - Earlier, tests run in a trash/ repository that was
   initialized with user's random templates.  This was *wrong*.
   It now uses freshly built templates that came from the
   source.

 - Further, hooks are disabled in the trash/ repository used for
   tests.  When we later add tests for hooks (HINTS, anybody
   ;-)), they can add their own anyway.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: cygwin: t3200-branch.sh fails with "List form of pipe open not implemented at -e line 22."
  2005-10-16  7:46     ` Junio C Hamano
@ 2005-10-17  8:40       ` Alex Riesen
  0 siblings, 0 replies; 6+ messages in thread
From: Alex Riesen @ 2005-10-17  8:40 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On 10/16/05, Junio C Hamano <junkio@cox.net> wrote:
> Alex Riesen <raa.lkml@gmail.com> writes:
>
> >> >The message comes from one of the hooks, which are executed even
> >> >though they never meant to, because cygwin apparently uses file
> >> >content or name to detect executability (on FAT).
>
> Is this one of the hooks we ship as examples?  If so, that
> means worse brokenness than just test failing.  It means that
> the hook is not usable in your environment.
>
> I presume it is this line in pre-commit sample hook:
>
>     open $fh, "-|", qw(git-diff-index -p -M --cached HEAD);
>
> Is Perl on Cygwin incapable of handle this in general, or is it
> just what is on your machine being behind?

ActiveState's Windows port of Perl 5.8.6.

$ perl -e 'open $fh, "-|", qw(git-diff-index -p -M --cached HEAD)'
List form of pipe open not implemented at -e line 1.

I think it is not implemented because of Win32 lacking fork(2).

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-10-17  8:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-10-14 12:46 cygwin: t3200-branch.sh fails with "List form of pipe open not implemented at -e line 22." Alex Riesen
2005-10-14 16:09 ` Junio C Hamano
2005-10-14 17:57 ` H. Peter Anvin
2005-10-15 21:18   ` Alex Riesen
2005-10-16  7:46     ` Junio C Hamano
2005-10-17  8:40       ` Alex Riesen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).