带有 - depth选项的svn log命令

时间:2012-12-05 08:49:56

标签: svn

我需要非递归地获取SVN数据库中特定目录的日志。

   svn.exe log HTTP://10.0.3.2:8080/svn/New/Projects --depth 'empty'

显示,

svn: E205000: ''empty'' is not a valid depth; try 'empty', 'files', 'immediates', or 'infinity'

提前致谢,

4 个答案:

答案 0 :(得分:1)

empty关键字周围使用'并使用=符号进行尝试。

svn.exe log http://10.0.3.2:8080/svn/New/Projects --depth=empty

答案 1 :(得分:1)

我无法想象,为什么你想要这个奇怪的命令,但是

''empty'' is not a valid depth

告诉我,你的客户端操作系统是Windows,在这种情况下你必须写“空”

并且--depth在没有--diff的情况下不起作用,因此你的最终命令必须是

svn.exe log HTTP://10.0.3.2:8080/svn/New/Projects --depth "empty" --diff

(仅记录/New/Projects,没有子节点,没有文件列表在日志中,但带有属性更改,如果它们发生了)

PS:for --depth“empty”我无法检测到忽略孩子的预期有用效果:

svn log URL/branches/ --depth "empty" --diff

显示所有修订,这些修订发生在所有分支

答案 2 :(得分:0)

您需要其他工具,例如。 grep 过滤掉与您无关的日志行

svn log http://10.0.3.2:8080/svn/New/Projects --depth empty --diff | grep +++ -B 7 -A 6

显示之前的7行和属性更改后的6行。

答案 3 :(得分:0)

我遇到了同样的问题......我怀疑问题可能是由于客户端和服务器之间的互操作性造成的。

我的客户端版本:

$ svn --version
svn, version 1.7.9 (r1462340)
   compiled Apr 14 2013, 10:11:47

我的服务器:

Subversion 1.6.2 (r37639)

看起来客户端版本1.6.x中没有--depth选项

1.7.9客户:

$ svn log --help | grep depth
  The --depth option is only valid in combination with the --diff option
  and limits the scope of the displayed diff to the specified depth.
  --depth ARG              : limit operation by depth ARG ('empty', 'files',
$

1.6.x客户端:

$ svn log --help | grep depth
Previous exit value was: 1
$