git/builtin
Aaron Schrab ec55559f93 push: Add support for pre-push hooks
Add support for a pre-push hook which can be used to determine if the
set of refs to be pushed is suitable for the target repository.  The
hook is run with two arguments specifying the name and location of the
destination repository.

Information about what is to be pushed is provided by sending lines of
the following form to the hook's standard input:

  <local ref> SP <local sha1> SP <remote ref> SP <remote sha1> LF

If the hook exits with a non-zero status, the push will be aborted.

This will allow the script to determine if the push is acceptable based
on the target repository and branch(es), the commits which are to be
pushed, and even the source branches in some cases.

Signed-off-by: Aaron Schrab <aaron@schrab.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-18 11:13:22 -08:00
..
add.c Merge branch 'as/dir-c-cleanup' 2013-01-10 13:47:25 -08:00
annotate.c
apply.c Merge branch 'jc/apply-trailing-blank-removal' 2013-01-06 22:10:23 -08:00
archive.c
bisect--helper.c
blame.c pretty: remove reencode_commit_message() 2012-10-17 22:42:40 -07:00
branch.c Merge branch 'nd/maint-branch-desc-doc' 2013-01-09 08:27:09 -08:00
bundle.c
cat-file.c Merge branch 'maint-1.7.11' into maint 2012-09-10 15:31:06 -07:00
check-attr.c Merge branch 'maint' 2012-09-17 15:59:34 -07:00
check-ref-format.c
checkout-index.c
checkout.c checkout: print a message when switching unborn branches 2012-11-15 17:36:26 -08:00
clean.c
clone.c Merge branch 'jl/interrupt-clone-remove-separate-git-dir' 2013-01-10 13:47:30 -08:00
column.c
commit-tree.c
commit.c hooks: Add function to check if a hook exists 2013-01-14 09:25:40 -08:00
config.c Merge branch 'cn/config-missing-path' into maint 2012-11-25 18:35:46 -08:00
count-objects.c
credential.c
describe.c Merge branch 'jk/peel-ref' 2012-10-25 06:42:27 -04:00
diff-files.c
diff-index.c update-index/diff-index: use core.preloadindex to improve performance 2012-11-02 11:38:29 -04:00
diff-tree.c
diff.c Merge branch 'kb/preload-index-more' 2012-11-20 10:32:10 -08:00
fast-export.c fast-export: make sure updated refs get updated 2012-12-03 09:57:16 -08:00
fetch-pack.c fetch-pack: move core code to libgit.a 2012-10-29 03:40:29 -04:00
fetch.c Merge branch 'dj/fetch-all-tags' into maint 2012-09-24 12:39:21 -07:00
fmt-merge-msg.c Merge branch 'jc/maint-fmt-merge-msg-no-edit-lose-credit' 2013-01-10 13:46:29 -08:00
for-each-ref.c Merge branch 'nd/i18n-parseopt-help' 2012-09-07 11:09:09 -07:00
fsck.c
gc.c silence git gc --auto --quiet output 2012-09-27 17:57:26 -07:00
grep.c Merge branch 'nd/grep-true-path' into maint 2012-11-18 19:32:30 -08:00
hash-object.c
help.c
index-pack.c i18n: mark more index-pack strings for translation 2012-08-31 13:05:05 -07:00
init-db.c
log.c Merge branch 'jc/format-patch-reroll' 2013-01-11 18:34:10 -08:00
ls-files.c Merge branch 'as/dir-c-cleanup' 2013-01-10 13:47:25 -08:00
ls-remote.c ls-remote: document the '--get-url' option 2012-09-07 10:58:35 -07:00
ls-tree.c pathspec: save the non-wildcard length part 2012-11-19 13:08:28 -08:00
mailinfo.c Merge branch 'jc/same-encoding' into maint 2012-12-07 14:10:56 -08:00
mailsplit.c
merge-base.c Merge branch 'jc/merge-bases' 2012-09-11 11:36:05 -07:00
merge-file.c
merge-index.c Which merge_file() function do you mean? 2012-12-09 23:05:27 -08:00
merge-ours.c
merge-recursive.c
merge-tree.c merge-tree: fix d/f conflicts 2012-12-26 14:46:15 -08:00
merge.c Merge branch 'jc/maint-fmt-merge-msg-no-edit-lose-credit' 2013-01-10 13:46:29 -08:00
mktag.c
mktree.c
mv.c
name-rev.c
notes.c builtin/notes.c: mark file-scope private symbols as static 2012-09-15 22:58:20 -07:00
pack-objects.c Merge branch 'jk/peel-ref' 2012-10-25 06:42:27 -04:00
pack-redundant.c Fix sizeof usage in get_permutations 2012-12-13 11:13:44 -08:00
pack-refs.c
patch-id.c
prune-packed.c
prune.c Merge branch 'rj/path-cleanup' 2012-09-14 11:53:53 -07:00
push.c push: Add support for pre-push hooks 2013-01-18 11:13:22 -08:00
read-tree.c
receive-pack.c hooks: Add function to check if a hook exists 2013-01-14 09:25:40 -08:00
reflog.c
remote-ext.c
remote-fd.c
remote.c Fix typo in remote set-head usage 2012-11-26 13:27:45 -08:00
replace.c replace: parse revision argument for -d 2012-11-13 08:34:14 -05:00
rerere.c
reset.c
rev-list.c Move print_commit_list to libgit.a 2012-10-29 03:08:30 -04:00
rev-parse.c Merge branch 'maint-1.7.11' into maint 2012-09-12 14:08:05 -07:00
revert.c Merge branch 'mz/cherry-pick-cmdline-order' 2012-09-10 15:42:55 -07:00
rm.c Merge branch 'jl/submodule-rm' 2012-11-29 12:52:30 -08:00
send-pack.c push: require force for refs under refs/tags/ 2012-12-02 01:44:34 -08:00
shortlog.c Merge branch 'sp/shortlog-missing-lf' 2013-01-02 10:40:34 -08:00
show-branch.c
show-ref.c Merge branch 'jk/peel-ref' 2012-10-25 06:42:27 -04:00
stripspace.c
symbolic-ref.c git symbolic-ref --delete $symref 2012-10-21 12:17:38 -07:00
tag.c
tar-tree.c
unpack-file.c
unpack-objects.c
update-index.c Merge branch 'kb/preload-index-more' 2012-11-20 10:32:10 -08:00
update-ref.c
update-server-info.c
upload-archive.c
var.c
verify-pack.c
verify-tag.c
write-tree.c