我正在编写一个脚本,它将根据用户提供的名称在存储库中添加一个新项目.部分原因是检查存储库中是否已存在具有相同名称的URL.
在存储库中,我们团队的所有项目都存储在其中
https://developernetwork.repo.net/svn/Projects/
假设用户想要调用项目"Calculator"并运行脚本.在这种情况下,我们需要确保存储库中不存在以下内容
https://developernetwork.repo.net/svn/Projects/Calculator/
是否有一个svn命令可以用来完成它?不幸的是,我根本无法在svn文档(http://svnbook.red-bean.com/en/1.0/svn-book.html)中看到一个合适的命令.
Liw*_*wen 46
你可以使用
svn ls https://developernetwork.repo.net/svn/Projects/Calculator/
Run Code Online (Sandbox Code Playgroud)
它将告诉您存储库(目录)是否存在.
更新
对于包含许多文件的目录:
svn ls http://server/svn/foo --depth empty
Run Code Online (Sandbox Code Playgroud)
Ste*_*ano 46
我只是检查返回代码而不是检查返回字符串:
都
svn ls REPOSITORY/PATH
Run Code Online (Sandbox Code Playgroud)
和
svn info REPOSITORY/PATH
Run Code Online (Sandbox Code Playgroud)
如果一切顺利,则返回0;如果出错,则返回1; 你可以快速检查出来:
echo $?
Run Code Online (Sandbox Code Playgroud)
所以在bash脚本中只需执行以下操作:
error=$?
if [ $error -ne 0 ]; then
YOUR ERROR HANDLING
fi
Run Code Online (Sandbox Code Playgroud)
就像一个享受!
要接收有关任何现有存储库的信息(例如,可能丰富错误消息),您也可以使用
svn info https://developernetwork.repo.net/svn/Projects/Calculator/
Run Code Online (Sandbox Code Playgroud)
对于一个不存在的项目,它将返回
svn: Could not open the requested SVN filesystem
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
67165 次 |
最近记录: |