SVN提交失败了bash脚本

时间:2015-10-07 18:47:49

标签: bash svn

我正在自动化一个进程,我需要在SVN存储库中添加/删除一些文件。但是,当我尝试提交更改时脚本失败。有关我的SVN版本的一些信息&我收到的错误信息是 -

$ svn --version
svn, version 1.6.11 (r934486)
compiled May 31 2011, 06:01:42

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme

$

我收到的错误是 -

svn: '<working directory>/all' is not under version control

我没有名为&#34; all&#34;的文件(或)目录。在文件夹中。我也尝试过使用以下命令 -

svn commit --targets $changelistFile -m $commitMessage

其中$ changelistFile包含需要对其执行操作的所有文件。它们包含添加和放大删除。我仍然得到同样的错误。如果我运行&#34; svn commit&#34;来自bash shell的命令(在我的脚本失败之后)它成功了,但是从脚本中失败了。

bash代码段是 -

if [[ $numAdded -gt 0 ]] || [[ $numRemoved -gt 0 ]]; then
            svn commit --targets $changelistFile -m $commitMessage
fi

解决此问题的任何帮助都会非常有用。

更新 -

文件&#34; $ changelistFile&#34;不包含所有。该文件的内容是

data/2015_10_05_yyyyy_data.cql
test_consolidated_scripts/test_20151007.cql

我尝试了命令

svn commit --targets "$changelistFile" -m $commitMessage

它也没有帮助。

1 个答案:

答案 0 :(得分:2)

$commitMessage恰好包含“all”这个词吗?如果文件和消息包含空格,则应引用它们。

svn commit --targets "$changelistFile" -m "$commitMessage"