2013-02-02 53 views
1

當前設置:如何限制目錄的創建主幹,標籤,分支在SVN一個pre-commit鉤子?

我們已經在我們的SVN實例約7庫。每個倉庫有多個應用程序,以及每個應用程序應該有一個主幹,標籤和分支目錄(沒有別的)!

EG:

REPOSITORY-1 
    --> APP-1 
     --> trunk 
     --> tags 
     --> branches 
    --> APP-2 
     --> trunk 
     --> tags 
     --> branches 

加班我已經注意到從開發商這個過程偏離和製造各種目錄。例如:

REPOSITORY-1 
    --> APP-1 
     --> src 
     --> READ-ME.txt 
    --> APP-2 
     --> build 
     --> random-file.java 
     --> build.xml 

有沒有辦法有與限制模式的圖案鉤駁回申請下,嘗試創造出比軀幹,標籤以外的任何文件或目錄的任何承諾,和分支機構?預先感謝您的任何幫助!

額外的信息:我們的SVN服務器是一個RedHat箱。

回答

0

請在pre-commit鉤子svnlook dirs-changed REPOS_PATH,是否有輸出(| grep的-v ...)

1

添加下面的腳本在預提交限制目錄的創建:

REPOS="$1" 
TXN="$2" 
DIRCHAR="/" 
SVNLOOK=/opt/csvn/bin/svnlook 
echo $($SVNLOOK changed -t "$TXN" "$REPOS" | awk '{print $2}') > /tmp/files_$TXN.txt 
sed -i 's/ /&\n/g' /tmp/files_$TXN.txt 
while read line 
do 
LASTCHAR=`echo $line | awk '{print substr($0,length,1)}'` 
if [ "$LASTCHAR" == "$DIRCHAR" ]; then 
    echo -e "Cannot commit directory." 1>&2 
    exit 1 
fi 
done < /tmp/files_$TXN.txt 
相關問題