Not sure if this is possible in git (I haven't found it but I may be using the wrong vocabulary in my searches), but it be would useful to be able to modify and enable hooks as the defaults for all new repositories (at the time of creation I mean) so these don't have to be customized each time a new repository is created. It seems the easy way to do this is write a wrapper that sets my hooks and chmods them when I create a new repository, but if there's a way built into git I would rather use that instead of having unnecessary wrapper scripts however little lying around.
Clarification copied up from a comment to a now-deleted answer:
My question is whether the default behavior for ALL new repositories can be changed, so they don't need to be customized in the same way each time for each new repository. The easy answer is write a wrapper for creating and customizing the repos (it generates the hook scripts and chmods them), but it seems like this default behavior should also be customizable without having to do that.
From the git-init
man page (also works with git-clone
if you are cloning an existing repo instead of creating a new one from scratch):
--template=<template_directory> Provide the directory from which templates will be used. The default template directory is /usr/share/git-core/templates. When specified, <template_directory> is used as the source of the template files rather than the default. The template files include some directory structure, some suggested "exclude patterns", and copies of non-executing "hook" files. The suggested patterns and hook files are all modifiable and extensible.
You can modify the system-wide template directory (which defaults to /usr/share/git-core/templates
, but may be in a different location on your machine), you can supply --template=<template_directory>
on the command line when you create or clone the repo, or you can configure the default template directory in your config file:
[init]
templatedir = /path/to/templates