hooks: convert worktree 'post-checkout' hook to hook library
Move the running of the 'post-checkout' hook away from run-command.h to the new hook.h library in builtin/worktree.c. For this special case we need a change to the hook API to teach it to run the hook from a given directory. We cannot skip the "absolute_path" flag and just check if "dir" is specified as we'd then fail to find our hook in the new dir we'd chdir() to. We currently don't have a use-case for running a hook not in our "base" repository at a given absolute path, so let's have "dir" imply absolute_path(find_hook(hook_name)). Signed-off-by: Emily Shaffer <emilyshaffer@google.com> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Acked-by: Emily Shaffer <emilyshaffer@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
72ddf34d7c
commit
1a3017d908
6
hook.h
6
hook.h
@ -12,6 +12,12 @@ struct run_hooks_opt
|
||||
|
||||
/* Emit an error if the hook is missing */
|
||||
unsigned int error_if_missing:1;
|
||||
|
||||
/**
|
||||
* An optional initial working directory for the hook,
|
||||
* translates to "struct child_process"'s "dir" member.
|
||||
*/
|
||||
const char *dir;
|
||||
};
|
||||
|
||||
#define RUN_HOOKS_OPT_INIT { \
|
||||
|
Reference in New Issue
Block a user