我正在自动化一个进程,我需要在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
它也没有帮助。
答案 0 :(得分:2)
$commitMessage
恰好包含“all”这个词吗?如果文件和消息包含空格,则应引用它们。
svn commit --targets "$changelistFile" -m "$commitMessage"