2012-02-03 54 views
1

我正在託管一個SVN倉庫,我想設置一個在提交後啓動的鉤子,所以提交後。 我看到很多腳本使用C,但我不知道如何以及如果這在Debian上工作。使用post-commit鉤子自動更新svn

我有一臺Debian 32位服務器。那麼我需要在哪裏設置腳本,因爲我已經有了一個鉤子文件夾,其中已經有一些腳本(自動生成)。目前存在的post-commit腳本是這樣的: 鉤/-commit.tmpl後

#!/bin/sh 

# POST-COMMIT HOOK 
# 
# The post-commit hook is invoked after a commit. Subversion runs 
# this hook by invoking a program (script, executable, binary, etc.) 
# named 'post-commit' (for which this file is a template) with the 
# following ordered arguments: 
# 
# [1] REPOS-PATH (the path to this repository) 
# [2] REV   (the number of the revision just committed) 
# 
# The default working directory for the invocation is undefined, so 
# the program should set one explicitly if it cares. 
# 
# Because the commit has already completed and cannot be undone, 
# the exit code of the hook program is ignored. The hook program 
# can use the 'svnlook' utility to help it examine the 
# newly-committed tree. 
# 
# On a Unix system, the normal procedure is to have 'post-commit' 
# invoke other programs to do the real work, though it may do the 
# work itself too. 
# 
# Note that 'post-commit' must be executable by the user(s) who will 
# invoke it (typically the user httpd runs as), and that user must 
# have filesystem-level permission to access the repository. 
# 
# On a Windows system, you should name the hook program 
# 'post-commit.bat' or 'post-commit.exe', 
# but the basic idea is the same. 
# 
# The hook program typically does not inherit the environment of 
# its parent process. For example, a common problem is for the 
# PATH environment variable to not be set to its usual value, so 
# that subprograms fail to launch unless invoked via absolute path. 
# If you're having unexpected problems with a hook program, the 
# culprit may be unusual (or missing) environment variables. 
# 
# Here is an example hook script, for a Unix /bin/sh interpreter. 
# For more examples and pre-written hooks, see those in 
# /usr/share/subversion/hook-scripts, and in the repository at 
# http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and 
# http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/ 


REPOS="$1" 
REV="$2" 

"$REPOS"/hooks/mailer.py commit "$REPOS" $REV "$REPOS"/mailer.conf 

回答

1

如果需要當前腳本的功能,那麼在當前腳本的末尾添加腳本代碼。如果您不需要當前腳本的功能,那麼只需刪除當前腳本並添加您自己的腳本。

編輯:這個腳本是在問題中列出你想在post commit hook上執行的實際腳本嗎?如果是,則將其重命名爲post-commit.sh,並將其複製到您的存儲庫的hooks文件夾中。無視post-commit.tmpl,因爲這只是一個例子,模板腳本。

+0

問題是,我沒有腳本,這就是我要求的 – 2012-02-03 12:21:16

+0

我編輯了答案。 – Dialecticus 2012-02-03 13:21:19

+0

嘿,不,這只是我複製和粘貼的tmpl,我還需要知道更新腳本 – 2012-02-03 16:21:45