Go to file
Jimmie Wester 38e4387f8e Implementation of manifest defined githooks
When working within a team or corporation it is often
useful/required to use predefined git templates. This
change teaches repo to use a per-remote git hook template
structure.

The implementation is done as a continuation of the
existing projecthook functionality. The terminology is
therefore defined as projecthooks.

The downloaded projecthooks are stored in the .repo
directory as a metaproject separating them from the users
project forest.

The projecthooks are downloaded and set up when doing a
repo init and updated for each new repo init.

When downloading a mirror the projecthooks gits are
not added to the bare forest since the intention is to
ensure that the latest are used (allows for company policy
enforcement).

The projecthooks are defined in the manifest file in the
remote element as a subnode, the name refers to the
project name on the server referred to in the remote.
<remote name="myremote ..>
   <projecthook name="myprojecthookgit" revision="myrevision"/>
</remote>

The hooks found in the projecthook revision supersede
the stock hooks found in repo. This removes the need for
updating the projecthook gits for repo stock hook changes.

Change-Id: I6796b7b0342c1f83c35f4b3e46782581b069a561
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
Signed-off-by: Ian Kumlien <ian.kumlien@gmail.com>
2015-02-03 16:01:15 +09:00
docs Implementation of manifest defined githooks 2015-02-03 16:01:15 +09:00
hooks Update the commit-msg hook to the version from Gerrit 2.8.2 2014-07-15 11:30:06 -07:00
subcmds Implementation of manifest defined githooks 2015-02-03 16:01:15 +09:00
tests Fix inconsistent indentation 2012-11-14 11:38:57 +09:00
.gitattributes Protect line endings in shell scripts 2013-02-11 22:13:39 +01:00
.gitignore Add repoc to the .gitignore file 2013-03-08 01:18:08 +00:00
.project Set correct name in PyDev and Eclipse project config 2013-04-19 09:35:43 +09:00
.pydevproject Set correct name in PyDev and Eclipse project config 2013-04-19 09:35:43 +09:00
.pylintrc Disable warning about locally disabling pylint warnings 2013-05-15 18:06:06 +09:00
color.py add a global --color option 2014-12-30 18:50:05 -05:00
command.py repo: Support multiple branches for the same project. 2013-10-14 15:34:32 -07:00
COPYING Initial Contribution 2008-10-21 07:00:00 -07:00
editor.py Change print statements to work in python3 2012-11-13 17:33:56 -08:00
error.py More verbose errors for NoManifestExceptions. 2014-03-11 05:33:43 +00:00
git_command.py Decode git version 2014-08-20 11:47:10 +05:30
git_config.py Support persistent-http(s) review urls 2014-10-23 15:42:09 -07:00
git_refs.py Fix some python3 encoding issues 2013-11-21 06:03:22 +00:00
git_ssh Don't allow git fetch to start ControlMaster 2010-10-29 08:15:14 -07:00
main.py add a global --color option 2014-12-30 18:50:05 -05:00
manifest_xml.py Implementation of manifest defined githooks 2015-02-03 16:01:15 +09:00
pager.py Change print statements to work in python3 2012-11-13 17:33:56 -08:00
progress.py Support units in progress messages 2011-09-19 14:52:57 -07:00
project.py Implementation of manifest defined githooks 2015-02-03 16:01:15 +09:00
pyversion.py Move Python version checking to a separate module 2013-05-23 07:28:53 +00:00
repo Change implementation of cleanup in case of clone failure during "repo init" 2014-09-03 13:56:04 +05:30
SUBMITTING_PATCHES Add pylint configuration and instructions 2012-10-24 10:18:13 +09:00
trace.py Change print statements to work in python3 2012-11-13 17:33:56 -08:00
wrapper.py Add wrapper module 2014-01-30 15:17:09 -08:00