標題聽起來一定很奇怪,但我正在努力實現以下目標:
SVN 儲存庫位置:/home/flx/svn/flxdev SVN 儲存庫「flxdev」結構:
+ Project1
++ files
+ Project2
+ Project3
+ Project4
我正在嘗試設定提交後掛鉤,當我進行提交時,該掛鉤會自動在另一端簽出。
提交後文檔明確列出了以下內容:
# 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)
所以我做了以下命令來測試:
REPOS="$1"
REV="$2"
echo "Updated project $REPOS to $REV"
但是,當我在 Project1 中編輯文件時,會輸出“已將項目 /home/flx/svn/flxdev 更新為 1016”
我希望這是:“將專案 Project1 更新為 1016”
有了這個變量,我就可以指定在提交後對每個項目執行不同的操作。如何指定項目參數?
謝謝!
丹尼斯
答案1
使用svnlook
。
快速而骯髒的方法是嘗試以下方法:
REPOS="$1"
REV="$2"
CHANGED_DIRS="`/usr/bin/svnlook -r $REV dirs-changed $REPOS`"
echo "Updated paths $CHANGED_DIRS in revision $REV"
你可能想嘗試跑步svnlook help
;它將列出您可以使用的各種命令/您可以獲得的資訊。