Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt > index 03a4f0e..e082218 100644 > --- a/Documentation/git-init.txt > +++ b/Documentation/git-init.txt > @@ -60,6 +60,9 @@ If you are initializing a non-bare repository, the config variable > `receive.guardCurrentBranch` is set to true. This avoids problems with > pushing into the current branch, which does not touch the working tree. > > +If you want to run a specific script everytime git-init was issued, you > +can set the variable `core.initHook`. ... in your $HOME/.gitconfig, naturally ;-) I like the general idea, but with a few nits. The hook might want to differentiate its behaviour based on how git-init was invoked, don't you think? E.g. was it because the end user wanted to create a new repo? Re-init? Clone, cvsimport or some other higher level commands invoked git-init on the user's behalf?). The higher level ones could communicate it via environment so we do not have to worry about them too much (except perhaps in the documentation part to help hook writers), but at least re-init is something init-db alone would be able to tell the hook, so either a parameter to the hook or an environment exported to it would be needed. The hook can figure out 'shared' and 'bare' by reading from $GIT_DIR/config itself, but are there other things we may want to tell the hook? > +static int config_init_hook(const char *key, const char *value) > +{ > + if (!strcmp(key, "core.inithook")) > + init_hook = xstrdup(value); > + return 0; The current way to spell this is with git_config_string() to protect yourself from segfaulting on: [core] inithook > @@ -407,6 +430,9 @@ int cmd_init_db(int argc, const char **argv, const char *prefix) > git_config_set("receive.denyNonFastforwards", "true"); > } > > + if (run_init_hook()) > + return 1; > + Hmm. Exit without a message even under !quiet? > if (!quiet) > printf("%s%s Git repository in %s/\n", > reinit ? "Reinitialized existing" : "Initialized empty", -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html