From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Subject: Re: [PATCH 8/8] checkout: move post_checkout_hook() to checkout.c
Date: Fri, 28 Aug 2026 15:57:19 -0700 [thread overview]
Message-ID: <xmqq7bl93lbk.fsf@gitster.g> (raw)
In-Reply-To: <20260828225206.310500-9-gitster@pobox.com> (Junio C. Hamano's message of "Fri, 28 Aug 2026 15:52:06 -0700")
Junio C Hamano <gitster@pobox.com> writes:
> +int post_checkout_hook(struct commit *old_commit, struct commit *new_commit,
> + int changed)
> +{
> + struct run_hooks_opt opt = RUN_HOOKS_OPT_INIT_FORCE_SERIAL;
> +
> + /*
> + * "new_commit" can be NULL when checking out from the index before
> + * a commit exists.
> + */
> + strvec_pushl(&opt.args,
> + oid_to_hex(old_commit ? &old_commit->object.oid : null_oid(the_hash_algo)),
> + oid_to_hex(new_commit ? &new_commit->object.oid : null_oid(the_hash_algo)),
> + changed ? "1" : "0",
> + NULL);
> +
> + return run_hooks_opt(the_repository, "post-checkout", &opt);
> +}
Not a very good illustration. We should teach the caller to pass
"struct repository *repo" to this function, and then teach this
function to learn what hash algorithm to use from the given
repository instance.
> +/*
> + * Run the post-checkout hook.
> + */
> +int post_checkout_hook(struct commit *old_commit, struct commit *new_commit,
> + int changed);
> +
> #endif /* CHECKOUT_H */
next prev parent reply other threads:[~2026-08-28 22:57 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-27 18:29 [PATCH] builtin: replace the_repository parameter in is_bare_repository() Hardik Kumar
2026-08-27 19:09 ` Junio C Hamano
2026-08-27 19:51 ` Junio C Hamano
2026-08-27 20:09 ` Hardik Kumar
2026-08-27 20:28 ` Junio C Hamano
2026-08-27 21:12 ` Ben Knoble
2026-08-27 21:39 ` Junio C Hamano
2026-08-28 11:41 ` D. Ben Knoble
2026-08-28 22:51 ` Junio C Hamano
2026-08-28 22:51 ` [PATCH 0/8] More sensible checkout/switch/restore code refactoring Junio C Hamano
2026-08-28 22:51 ` [PATCH 1/8] checkout: pass cb_option explicitly to branch name parsers Junio C Hamano
2026-08-28 22:52 ` [PATCH 2/8] checkout: validate new branch name in checkout_branch() Junio C Hamano
2026-08-28 22:52 ` [PATCH 3/8] checkout: validate stage and merge option compatibility in checkout_paths() Junio C Hamano
2026-08-28 22:52 ` [PATCH 4/8] checkout: extract option validation and pathspec helpers Junio C Hamano
2026-08-28 22:52 ` [PATCH 5/8] checkout: extract branch setup and tracking helpers Junio C Hamano
2026-08-28 22:52 ` [PATCH 6/8] checkout: restructure switch, restore, and checkout entrypoints Junio C Hamano
2026-08-28 22:52 ` [PATCH 7/8] checkout: wrap overly long lines Junio C Hamano
2026-08-28 22:55 ` Junio C Hamano
2026-08-29 2:06 ` Junio C Hamano
2026-08-28 22:52 ` [PATCH 8/8] checkout: move post_checkout_hook() to checkout.c Junio C Hamano
2026-08-28 22:57 ` Junio C Hamano [this message]
2026-08-29 2:05 ` Junio C Hamano
2026-08-30 20:48 ` [PATCH v2 0/8] More sensible checkout/switch/restore code refactoring Junio C Hamano
2026-08-30 20:48 ` [PATCH v2 1/8] checkout: pass cb_option explicitly to branch name parsers Junio C Hamano
2026-08-30 20:48 ` [PATCH v2 2/8] checkout: validate new branch name in checkout_branch() Junio C Hamano
2026-08-30 20:48 ` [PATCH v2 3/8] checkout: validate stage and merge option compatibility in checkout_paths() Junio C Hamano
2026-08-30 20:48 ` [PATCH v2 4/8] checkout: extract option validation and pathspec helpers Junio C Hamano
2026-08-30 20:48 ` [PATCH v2 5/8] checkout: extract branch setup and tracking helpers Junio C Hamano
2026-08-30 20:48 ` [PATCH v2 6/8] checkout: restructure switch, restore, and checkout entrypoints Junio C Hamano
2026-08-30 20:48 ` [PATCH v2 7/8] checkout: wrap overly long lines Junio C Hamano
2026-08-30 20:48 ` [PATCH v2 8/8] checkout: move post_checkout_hook() to checkout.c Junio C Hamano
2026-08-29 13:24 ` [PATCH] builtin: replace the_repository parameter in is_bare_repository() D. Ben Knoble
2026-08-27 21:35 ` [PATCH] do not pass "repo" to builtin commmand implementations Junio C Hamano
2026-08-28 9:05 ` Hardik Kumar
2026-08-28 20:59 ` Junio C Hamano
2026-08-28 4:01 ` [PATCH] builtin: replace the_repository parameter in is_bare_repository() Hardik Kumar
2026-08-27 19:56 ` Hardik Kumar
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=xmqq7bl93lbk.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
/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.