All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Lang <david@lang.hm>
To: Jeremy Morton <admin@game-point.net>
Cc: Johan Herland <johan@herland.net>,
	Christian Couder <chriscool@tuxfamily.org>,
	Git mailing list <git@vger.kernel.org>
Subject: Re: Recording the current branch on each commit?
Date: Tue, 29 Apr 2014 15:14:17 -0700 (PDT)	[thread overview]
Message-ID: <alpine.DEB.2.02.1404291512420.14881@nftneq.ynat.uz> (raw)
In-Reply-To: <535E1C7A.3040504@game-point.net>

On Mon, 28 Apr 2014, Jeremy Morton wrote:

> On 28/04/2014 10:09, Johan Herland wrote:
>> On Mon, Apr 28, 2014 at 11:01 AM, Jeremy Morton<admin@game-point.net> 
>> wrote:
>>> On 28/04/2014 07:45, Christian Couder wrote:
>>>> Yes, it's possible. Yesterday, I sent the following patch:
>>>> 
>>>> [RFC/PATCH 2/2] trailer: add examples to the documentation
>>>> 
>>>> and it shows a commit-msg hook to do something like that:
>>>> 
>>>> $ cat>.git/hooks/commit-msg<<EOF
>>>> #!/bin/sh
>>>> git interpret-trailers --trim-empty --trailer "git-version: \$(git
>>>> describe)" "\$1">   "\$1.new"
>>>> mv "\$1.new" "\$1"
>>>> EOF
>>>> $ chmod +x .git/hooks/commit-msg
>>>> 
>>>> I think you just need to use the following if you want the branch
>>>> instead of the git version:
>>>> 
>>>> git interpret-trailers --trim-empty --trailer "git-branch: \$(git 
>>>> name-rev
>>>> --name-only HEAD)" "\$1">   "\$1.new"
>>>> 
>>>> It could even be simpler if there was an option (which has already
>>>> been discussed) that made it possible to modify the file in
>>>> place. This way one would not need the 'mv "\$1.new" "\$1"' command.
>>> 
>>> This is certainly going in the right direction, but it's still implemented
>>> as a hook on a per-repo basis.  Do you foresee a point in the future where
>>> these trailers could be added through simple one-liners in someone's 
>>> global
>>> .gitconfig file?  That's where I'd really like to get to.
>> 
>> It's a hack, but it works surprisingly well in practice (assuming that
>> you and your co-workers all agree that this is an acceptable
>> approach):
>>
>>   1. Write the hook script and add it to your project (in a git-hooks
>> subdir or something)
>>
>>   2. Add a post-checkout hook to install the first hook and the
>> post-checkout hook itself into the user's .git/hooks/ dir.
>>
>>   3. Tell your co-workers to run the post-checkout hook script manually
>> the first time. After that, the script should take care of updating
>> itself and any hooks that you add to the project.
>> 
>> 
>> ...Johan
>
> I don't understand why the co-workers need to run the post-checkout hook 
> script manually the first time?

because git does not trust the contents of the repository, so it won't 
auto-execute a hook that's part of the respository.

You can include a hook, and then have someone run it, and after that it will be 
installed locally and run after every pull (and can therefor replace itself), 
but it requires that they run it manually the first time.

David Lang

  reply	other threads:[~2014-04-29 22:14 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-26 23:56 Recording the current branch on each commit? Jeremy Morton
2014-04-27  8:51 ` Robin Rosenberg
2014-04-27 17:27   ` Jeremy Morton
2014-04-27 21:40     ` James Denholm
2014-04-27 22:12       ` Jeremy Morton
2014-04-27 22:31         ` James Denholm
2014-04-28  8:32     ` Felipe Contreras
2014-04-28  8:49       ` Jeremy Morton
2014-04-28  9:02         ` David Kastrup
2014-04-28  9:10           ` Jeremy Morton
2014-04-28  9:23             ` David Kastrup
2014-04-29 21:58               ` David Lang
2014-04-28 17:31     ` Junio C Hamano
2014-04-27  9:09 ` Johan Herland
2014-04-27 17:38   ` Jeremy Morton
2014-04-27 19:33     ` Johan Herland
2014-04-27 20:55       ` Jeremy Morton
2014-04-27 23:39         ` Johan Herland
2014-04-28  6:45           ` Christian Couder
2014-04-28  9:01             ` Jeremy Morton
2014-04-28  9:09               ` Johan Herland
2014-04-28  9:16                 ` Jeremy Morton
2014-04-29 22:14                   ` David Lang [this message]
2014-04-28  9:01         ` Felipe Contreras
2014-04-28  9:17           ` Jeremy Morton
2014-04-28  9:17             ` Felipe Contreras
2014-04-28  9:35               ` Jeremy Morton
2014-04-28 17:10                 ` Felipe Contreras
2014-04-28  9:39           ` David Kastrup
2014-04-28 17:22             ` Felipe Contreras
2014-04-28 23:03               ` James Denholm
2014-04-28 23:09                 ` Felipe Contreras
2014-04-28 23:40                   ` Junio C Hamano
2014-04-28 23:50                     ` Felipe Contreras
2014-04-29  0:10                       ` Junio C Hamano
2014-04-29  0:59                         ` Felipe Contreras
2014-04-29  1:29                   ` James Denholm
2014-04-29  3:32                     ` Felipe Contreras
2014-04-29  6:53                       ` James Denholm
2014-04-29  8:28                         ` Felipe Contreras
2014-04-29  9:00                           ` David Kastrup
2014-04-29  9:25                             ` Felipe Contreras
2014-04-29  9:47                               ` David Kastrup
2014-04-29  9:54                                 ` Felipe Contreras
2014-04-29 10:14                                   ` David Kastrup
2014-04-29 10:17                                     ` Felipe Contreras
2014-04-29 10:37                                       ` David Kastrup
2014-04-29 11:46                                         ` Felipe Contreras
2014-04-29 10:59                                       ` James Denholm
2014-04-29 11:47                                         ` Felipe Contreras
2014-04-29 12:25                                           ` James Denholm
2014-04-29 13:31                                             ` Felipe Contreras
2014-04-29 21:04                                               ` James Denholm
2014-04-29 21:45                                                 ` Felipe Contreras
2014-04-29 22:25                                                   ` James Denholm
2014-04-29 23:05                                                     ` Felipe Contreras
2014-04-30  0:22                                                       ` James Denholm
2014-04-30  0:44                                                         ` Felipe Contreras
2014-04-30  1:11                                                           ` James Denholm
2014-04-29 21:48                                       ` Piotr Krukowiecki
2014-04-29  8:34                       ` Robin Rosenberg
2014-04-28  2:30       ` Sitaram Chamarty
2014-04-28  8:52         ` Jeremy Morton
2014-04-28 10:03           ` Sitaram Chamarty
2014-04-28  6:07       ` David Kastrup
2014-04-28 10:03         ` Sitaram Chamarty
2014-04-28 16:38           ` Johan Herland
2014-04-28  8:57       ` Felipe Contreras
2014-04-28  8:50     ` Felipe Contreras
2014-04-28  6:36 Max Kirillov
2014-04-28 18:15 ` Junio C Hamano
2014-04-30  4:04   ` Max Kirillov
2014-04-28  6:42 Max Kirillov

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=alpine.DEB.2.02.1404291512420.14881@nftneq.ynat.uz \
    --to=david@lang.hm \
    --cc=admin@game-point.net \
    --cc=chriscool@tuxfamily.org \
    --cc=git@vger.kernel.org \
    --cc=johan@herland.net \
    /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.