Merge branch 'pw/post-commit-from-sequencer'
"rebase -i" ceased to run post-commit hook by mistake in an earlier update, which has been corrected. * pw/post-commit-from-sequencer: sequencer: run post-commit hook move run_commit_hook() to libgit and use it there sequencer.h fix placement of #endif t3404: remove uneeded calls to set_fake_editor t3404: set $EDITOR in subshell t3404: remove unnecessary subshell
This commit is contained in:
24
commit.c
24
commit.c
@ -19,6 +19,7 @@
|
||||
#include "advice.h"
|
||||
#include "refs.h"
|
||||
#include "commit-reach.h"
|
||||
#include "run-command.h"
|
||||
|
||||
static struct commit_extra_header *read_commit_extra_header_lines(const char *buf, size_t len, const char **);
|
||||
|
||||
@ -1581,3 +1582,26 @@ size_t ignore_non_trailer(const char *buf, size_t len)
|
||||
}
|
||||
return boc ? len - boc : len - cutoff;
|
||||
}
|
||||
|
||||
int run_commit_hook(int editor_is_used, const char *index_file,
|
||||
const char *name, ...)
|
||||
{
|
||||
struct argv_array hook_env = ARGV_ARRAY_INIT;
|
||||
va_list args;
|
||||
int ret;
|
||||
|
||||
argv_array_pushf(&hook_env, "GIT_INDEX_FILE=%s", index_file);
|
||||
|
||||
/*
|
||||
* Let the hook know that no editor will be launched.
|
||||
*/
|
||||
if (!editor_is_used)
|
||||
argv_array_push(&hook_env, "GIT_EDITOR=:");
|
||||
|
||||
va_start(args, name);
|
||||
ret = run_hook_ve(hook_env.argv,name, args);
|
||||
va_end(args);
|
||||
argv_array_clear(&hook_env);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user