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


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文档,没有选择直接获得您想要的东西。

间接解决方案:

  • 如果不太慢,您可以做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>

最新更新