我想知道如何使用subversion工具一次性将文件/文件夹提交到多个文件夹。 我可以将文件放在多个文件夹中,然后进行提交,但我只想将它放在一个文件夹中,它应该在所需的文件夹中创建副本。有可能吗?
答案 0 :(得分:2)
不,subversion只支持一个主存储库。但您可以从许多位置更新。提交一个地方,从其他地方更新,如Web服务器目录。如果你在那里做出改变,你也可以从那里做出改变。
答案 1 :(得分:0)
Apache Ant或Maven之类的东西可以帮助您完成此任务。
编辑:在预提交钩子中可能是这样的(在你的知识库/ hooks目录中创建一个'pre-commit'文件)(草稿版本):
#!/bin/bash
REPOS="$1"
TXN="$2"
SVNDIR=""
SVNLOOK="/usr/bin/svnlook"
NEWPATH="/path"
CHANGED=`$SVNLOOK changed -t "$TXN" "$REPOS" | $GREP "^[U|A]" | $AWK '{print $2}'`
for FILE in $CHANGED
do
cp "$FILE" "$NEWPATH/$FILE"
done
svn add -force "$SVNDIR"
答案 2 :(得分:0)
如果您尝试重用中央文件,则可以使用svn:externals
属性。将文件提交到存储库树中的某个中心位置,然后为该文件创建一个svn:externals属性(或者更好的是其父目录)。这样你就可以从任何地方(也就是被svn:externals引入它的位置)提交它,并重用它。