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
next prev parent 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 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).