git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: scott douglass <scott0douglass@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: Fwd: Discovering the new parents in commit hooks
Date: Mon, 8 Jul 2019 20:09:06 +0000	[thread overview]
Message-ID: <20190708200906.GF9224@genre.crustytoothpaste.net> (raw)
In-Reply-To: <CAOqHT5K_JZDZ1agEL4ceVdYY=4YYO715v+j_bNbJWOoV=KNqQQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1404 bytes --]

On 2019-07-05 at 22:01:59, scott douglass wrote:
> Hi,
> 
> I’d like to be able to discover the new parents-to-be SHA-1s during
> the hooks that run before a commit*.  Essentially I’d like be able to
> distinguish the ‘git commit’ case from ‘git commit —amend’. Is there
> already a way to do this that I have overlooked? (I’ve read ‘man
> githooks’ and searched the wiki and various other places.)

I'm not aware of a way to distinguish this currently, although I agree
having a way would be valuable. There are of course heuristic ways, but
they can be fooled.

> If not, I would propose that perhaps the hooks could be passed a
> GIT_PARENTS (or perhaps GIT_NEW_PARENTS) environment variable which in
> the ‘not amend’ case would contain the SHA-1 for HEAD and MERGE_HEAD
> (if appropriate) and in the ‘—amend' case would contain HEAD^@ (all of
> the parents of HEAD).

I think we'd probably skip such functionality in favor of exposing
whether a commit is to be amended or not and let you script the parents
yourself.

There are a lot of cases where one might want to know whether a commit
was amended, but knowing that, you can determine the parents and
anything else without much difficulty, so the amended option seems like
the more general feature to implement.
-- 
brian m. carlson: Houston, Texas, US
OpenPGP: https://keybase.io/bk2204

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 868 bytes --]

      reply	other threads:[~2019-07-08 20:09 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAOqHT5KUFOY9g-PDDq=PaXdqS41ZGYGMAUuBkU-UrPiSumqhTQ@mail.gmail.com>
2019-07-05 22:01 ` Fwd: Discovering the new parents in commit hooks scott douglass
2019-07-08 20:09   ` brian m. carlson [this message]

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=20190708200906.GF9224@genre.crustytoothpaste.net \
    --to=sandals@crustytoothpaste.net \
    --cc=git@vger.kernel.org \
    --cc=scott0douglass@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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).