检查文件是否已经提交给 svn

smo*_*uns 6 svn shell-script

如何检查文件/文件夹是否已提交给 svn ?我有一个 shell 脚本,我想确保用户为签入选择的文件/文件夹尚未提交。例如,如果我尝试签入已使用的文件夹

svn 添加我的文件夹

我收到以下警告:

svn:警告:“我的文件夹”已经在版本控制之下

Dan*_*eck 8

使用 的返回码svn info。这是0如果版本控制之下,否则非零。

我的 shell 在命令后显示非零返回码,所以它看起来像这样:

$ svn info trunk
Path: trunk
URL: https://(...)/trunk
Repository Root: https://(...)
Repository UUID: 651713a4-5a46-7e42-a99e-f31e79777eab
Revision: 213
Node Kind: directory
(...)

$ touch foo
$ svn info foo 
foo:  (Not a versioned resource)

svn: A problem occurred; see other errors for details

rc: 1
Run Code Online (Sandbox Code Playgroud)

您将如何在bash脚本中执行此操作 (在其他 shell 中类似),并抑制info输出:

svn info <filename> 1>/dev/null 2>&1
echo $?
Run Code Online (Sandbox Code Playgroud)