All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shawn Pearce <spearce@spearce.org>
To: Andreas Ericsson <ae@op5.se>
Cc: "Niklas Höglund" <nhoglund@gmail.com>, git@vger.kernel.org
Subject: Re: Update hook in Cygwin
Date: Wed, 8 Mar 2006 09:44:13 -0500	[thread overview]
Message-ID: <20060308144413.GA516@spearce.org> (raw)
In-Reply-To: <440EDDE4.9070405@op5.se>

Andreas Ericsson <ae@op5.se> wrote:
> Niklas Höglund wrote:
> >Hi.
> >
> >After creating a couple of repositories and pushing and cloning them,
> >I get the following:
> >
> >$ git push --all origin
> >...
> >hooks/update: line 88: mail: command not found
> >
> >This is in cygwin. I'm rather glad I don't have the mail command
> >installed, as I don't want mails going anywhere.
> >
> >The update hook contains the following comment:
> >
> ># To enable this hook:
> ># (1) change the recipient e-mail address
> ># (2) make this file executable by "chmod +x update".
> >
> >But my impression after a cursory look at it is that it would always
> >call "mail" whenever it is run, and since all files are executable in
> >Windows (AFAIK), it would always be run.
> 
> 
> I was under the impression that the cygwin abstraction layer had some 
> unixy permission thing on top of NTFS. Perhaps that's wrong. If you 
> remove the hook it won't be called.

I've seen the same thing with the hooks on Cywin.  I would consider
it to be a bug in either GIT or Cygwin but I haven't decided
which yet.

If you look at the share/git-core/templates directory on a real
UNIX system would see that the hooks are not marked executable by
default when installed.  They are copied non-executable into each
new repository by git-init-db. Since they aren't executable they
don't get run.


But on Cygwin the hooks appear to be getting installed and are marked
executable in share/git-core/templates.  So when git-init-db copies
them over to the new repository they are by default enabled.

Removing the execute bit from the files in share/git-core/templates
doesn't help; for some reason git-init-db is still copying them with
the execute bit enabled.  I haven't spent the time to figure out why
yet; so I just run rm .git/hooks/* on every repository I come across.

BTW: chmod a-x .git/hooks/* also works as the Cygwin unixy permission
layer will remember the change.

-- 
Shawn.

  reply	other threads:[~2006-03-08 14:44 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-08 12:16 Update hook in Cygwin Niklas Höglund
2006-03-08 13:36 ` Andreas Ericsson
2006-03-08 14:44   ` Shawn Pearce [this message]
2006-03-08 15:54     ` Christopher Faylor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060308144413.GA516@spearce.org \
    --to=spearce@spearce.org \
    --cc=ae@op5.se \
    --cc=git@vger.kernel.org \
    --cc=nhoglund@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.