All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Ericsson <ae@op5.se>
To: "Karl Hasselström" <kha@treskal.com>
Cc: Jon Smirl <jonsmirl@gmail.com>, Git Mailing List <git@vger.kernel.org>
Subject: Re: StGit hooks
Date: Wed, 28 Nov 2007 15:11:28 +0100	[thread overview]
Message-ID: <474D7710.4090303@op5.se> (raw)
In-Reply-To: <20071128132605.GB15953@diana.vm.bytemark.co.uk>

Karl Hasselström wrote:
> On 2007-11-28 14:14:15 +0100, Andreas Ericsson wrote:
> 
>> Karl Hasselström wrote:
>>
>>> On 2007-11-28 12:44:02 +0100, Andreas Ericsson wrote:
>>>
>>>> Karl Hasselström wrote:
>>>>
>>>>> Also, if StGit is to set up hooks automatically (commit hooks,
>>>>> pre-rebase hooks, whatever), it'd be nice to not have to worry
>>>>> about overwriting any existing hooks the user might have. But
>>>>> git currently allows only one hook script per hook, right?
>>>> Yes, but you can obviously call any number of scripts and
>>>> programs from within the hook that git executes.
>>> That doesn't help here, however, since the user and not StGit
>>> "owns" the "top-level" hook. StGit would have to rely on the user
>>> having installed a specific kind of multiplexer as a hook script
>>> (e.g. one that executes everything under .git/hooks/$hook.d/). Or
>>> it would have to install it itself, and hope that moving any
>>> existing hook to the subdirectory where the multiplexer looks for
>>> hooks doesn't break anything. Both solutions are problematic.
>> The user-defined hook can be kept in the hooks directory too. It
>> just needs to be named in such a way that git will never have a hook
>> named like that. For that reason, I think it would be easiest to
>> just agree for the git core to never call any hooks prefixed with
>> "stgit" or some such. I think the odds for it happening by chance
>> are remote, to say the least.
> 
> You've lost me. :-/
> 
> Take the pre-commit hook as an example. git will call
> ".git/hooks/pre-commit" when interesting stuff happens. Now StGit
> wants to install its pre-commit hook in an existing repository, and
> finds that there already is a file called ".git/hooks/pre-commit".
> What should it do?
> 

Move the existing hook to ".git/hooks/stgit-moved.pre-commit". So
long as the hook doesn't care what its named (which would only matter
in the insane case where the repository has a single hook with a lot
of links going to it), this will work with relative paths that worked
earlier.

> It could move ".git/hooks/pre-commit" to
> ".git/hooks/pre-commit.d/user_hook", install its own hook in
> ".git/hooks/pre-commit.d/stgit_hook", and install a multiplexer at
> ".git/hooks/pre-commit". But that makes some assumptions, e.g. that
> the user's hook can handle being moved, and that the user is fine with
> this.
> 
> I don't see a good way around this other than having git mandate the
> multiplexing scheme.
> 

Multiplexing the execution of those hooks would be a very bad idea
indeed, but that's a different issue.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

  reply	other threads:[~2007-11-28 14:12 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-27 22:17 stgit: lost all my patches again Jon Smirl
2007-11-27 22:24 ` Jakub Narebski
2007-11-27 23:12 ` Jon Smirl
2007-11-28  9:34   ` Karl Hasselström
2007-11-28 10:17     ` StGit hooks Karl Hasselström
2007-11-28 11:44       ` Andreas Ericsson
2007-11-28 12:19         ` Karl Hasselström
2007-11-28 13:14           ` Andreas Ericsson
2007-11-28 13:26             ` Karl Hasselström
2007-11-28 14:11               ` Andreas Ericsson [this message]
2007-11-28 14:53                 ` Jon Smirl
2007-11-28 14:58                   ` Andreas Ericsson
2007-11-28 15:40                     ` Karl Hasselström
2007-11-28 17:06                       ` Andreas Ericsson
2007-11-28 17:21                         ` Karl Hasselström
2007-11-28 19:31                           ` Junio C Hamano
2007-11-28 15:06     ` stgit: lost all my patches again Jon Smirl
2007-11-28 16:04       ` Karl Hasselström
2007-11-28 16:21         ` Jon Smirl
2007-11-28 16:41           ` Karl Hasselström
2007-11-28 16:58             ` Jon Smirl
2007-11-28 17:19               ` Karl Hasselström
2007-11-30  6:35             ` [StGit PATCH] Make "stg repair" help text more helpful Karl Hasselström
2007-11-28  0:37 ` stgit: lost all my patches again Junio C Hamano
2007-11-28  2:59   ` Jon Smirl
2007-11-28  6:32     ` Karl Hasselström

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=474D7710.4090303@op5.se \
    --to=ae@op5.se \
    --cc=git@vger.kernel.org \
    --cc=jonsmirl@gmail.com \
    --cc=kha@treskal.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.