summaryrefslogtreecommitdiff
path: root/run-command.h
diff options
context:
space:
mode:
authorAaron Schrab <aaron@schrab.com>2013-01-13 00:17:02 -0500
committerJunio C Hamano <gitster@pobox.com>2013-01-14 09:25:40 -0800
commit5a7da2dca166fab74f4514697e26dd80e79933f5 (patch)
treed00b416154fd3790e7cf23592f6d8815dec8eb4b /run-command.h
parent94702dd1ac27618b60198f7c8bceafaaaf7743e2 (diff)
downloadgit-5a7da2dca166fab74f4514697e26dd80e79933f5.tar.gz
hooks: Add function to check if a hook exists
Create find_hook() function to determine if a given hook exists and is executable. If it is, the path to the script will be returned, otherwise NULL is returned. This encapsulates the tests that are used to check for the existence of a hook in one place, making it easier to modify those checks if that is found to be necessary. This also makes it simple for places that can use a hook to check if a hook exists before doing, possibly lengthy, setup work which would be pointless if no such hook is present. The returned value is left as a static value from get_pathname() rather than a duplicate because it is anticipated that the return value will either be used as a boolean, immediately added to an argv_array list which would result in it being duplicated at that point, or used to actually run the command without much intervening work. Callers which need to hold onto the returned value for a longer time are expected to duplicate the return value themselves. Signed-off-by: Aaron Schrab <aaron@schrab.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'run-command.h')
-rw-r--r--run-command.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/run-command.h b/run-command.h
index 850c638f19..221ce33140 100644
--- a/run-command.h
+++ b/run-command.h
@@ -45,6 +45,7 @@ int start_command(struct child_process *);
int finish_command(struct child_process *);
int run_command(struct child_process *);
+extern char *find_hook(const char *name);
extern int run_hook(const char *index_file, const char *name, ...);
#define RUN_COMMAND_NO_STDIN 1