来自命令行的subversion(svn):任何一个“反映所有变化”的命令?

时间:2013-01-26 01:28:58

标签: svn maven maven-plugin

当你在项目中工作时,至少是我自己,无论你是否使用IDE(如eclipse或netbeans),你都要更新源文件,创建目录,创建新文件,删除一些文件或重命名它们。 (我不想花时间为每个文件发出svn命令,如果其中一些文件可能还不是最终文件,那就更多了。)

在某个时刻,你认为你已经得到了它:好吧,这就是我想保留并保存到存储库中的内容。

是否有任何单个svn命令说“现在存储工作项目”? (这可能意味着一大堆添加和删除(重命名=使用svn删除+添加的本地副本)并递归到目录中。)

如果没有(我猜),任何shell脚本都可以执行此任务吗? (基于svn状态,递归地为每个子文件夹)。

更新

有没有maven插件可以做到这一点?

感谢。

1 个答案:

答案 0 :(得分:0)

我认为这可以完成任务:

if [ $# != 1 ]
then
    echo  "usage: doSVNsnapshot.sh DIR"
    exit 0
fi

ROOT=$1

for i in `find ${ROOT} -type d \! -path "*.svn*" `
do

    echo
    echo "--------------------------"
    ( cd $i ; 
    echo $i
    echo "--------------------------"


    svn status | awk '  
            /^[!]/ { system("svn rm " $2) }
            /^[?]/ { system("svn add " $2) }
        '
    )
    echo

done