如何使用命令行提交除一个文件以外的所有文件?

时间:2012-04-05 16:04:16

标签: svn command-line

在我的项目中,有25个修改过的文件。我需要将24个这样的文件提交到SVN Repository。我不想提交的单个文件尚未完成,因此我将在以后提交。

我在Linux服务器上使用远程shell来进行SVN提交。我知道如何执行上述操作的唯一方法是键入:

# svn ci file1 file2 file3 file4........... file24

这有点荒谬和低效。有更简单的替代方案吗?我可以提交所有内容但是选择遗漏某些文件吗?

这需要一些花哨的bash脚本吗?

3 个答案:

答案 0 :(得分:2)

如果您在一次交易中需要它,请尝试以下方法:

svn commit `svn status | sed -n -e '/file_you_dont_want/!s/^.......//p'`

答案 1 :(得分:0)

是。您可以编写一个bash脚本来提交某个目录中的所有文件,除了那些将它作为参数传递的文件。脚本的核心是循环:

for x in `ls`
do
     svn ci $x
done

您可以选择通过grep管道ls的输出来组合过滤器,或者在循环中放置if语句。我可能会选择第一个。

答案 2 :(得分:0)

您可以使用更改列表:

svn cl _listName_ -R *
svn --remove unexpected_filenames
svn commit --cl _listName_