如何使用 "svn ls svn://XXXX:XXXX/foo/bar/foobar" 显示整个文件路径?

How to use "svn ls svn://XXXX:XXXX/foo/bar/foobar" to show whole file path?

svn ls svn://XXXX:XXXX/foo/bar/foobar svn://XXXX:XXXX/bar/foo/foobar -v

我知道上面的命令可以显示这些信息:

58767 XXXX         511 March 17 11:36 foobar
58768 XXXX         512 March 17 11:46 foobar

但我想像这样显示整个文件路径以区分它们:

58767 XXXX         511 March 17 11:36 /foo/bar/foobar
58768 XXXX         512 March 17 11:46 /bar/foo/foobar

能实现吗?

根据SVN documentation,没有选项可以直接得到你想要的。

间接解决方案:

  • 如果不是太慢可以svn ls svn://XXXX:XXXX/ -v | grep foobar
  • 或者如果它太慢,只用你想要的一个文件做两次单独的 svn ls 调用,然后分别回显它们,如果你最终使用 sedawk完全需要问题中所述的格式。

其他间接解决方案是使用 --xml 而不是 -v.

svn ls svn://XXXX:XXXX/foo/bar/foobar svn://XXXX:XXXX/bar/foo/foobar --xml

它将像这样显示整个文件路径:

<?xml version="1.0" encoding="UTF-8"?>
<lists>
<list
   path="svn://XXXX:XXXX/foo/bar/foobar">
<entry
   kind="file">
<name>foobar</name>
<size>511</size>
<commit
   revision="58767">
<author>XXXX</author>
<date>2019-03-17T11:36:19.927875Z</date>
</commit>
</entry>
</list>
<list
   path="svn://XXXX:XXXX/bar/foo/foobar">
<entry
   kind="file">
<name>foobar</name>
<size>512</size>
<commit
   revision="58768">
<author>XXXX</author>
<date>2019-03-17T11:46:19.237875Z</date>
</commit>
</entry>
</list>
</lists>