你如何决定何时使用svn cat或svnlook?据我所知,svn cat用于工作副本,svnlook用于存储库。
如果我想通过具有svn外观的存储库查看工作副本中的所有文件,我该怎么做?
我知道有一个子命令dirs-changed,但只显示已更改的目录。我希望能够获取路径中的文件列表和该路径中的目录列表。
答案 0 :(得分:3)
他们之间的关键点是:svnlook
不使用网址。因此,您只能在存储库中使用它。如果您通过svn://
或http://
之类的协议访问存储库,那么svnlook
将无法在客户端工作 - 当通过hook-scripts调用时,它只能在服务器端工作例。
所以,当你说:“[...]在一个工作副本通过svn外观[...]的存储库”时,这是不可能的。您是在服务器端 - 然后您无权访问工作副本。或者您在客户端 - 然后您没有(有用)访问svnlook
。
答案 1 :(得分:1)
svnlook
只能在存储库的本地文件系统路径上运行,而不能在URL上运行。它意味着在钩子脚本中的存储库服务器上使用,以检查特定的修订或事务。
svn cat
是一个客户端工具,可以指向存储库URL或工作副本路径。它只是将文件或URL的内容转储到STDOUT
。
如果您正在处理工作副本,则需要使用svn
,而不是svnlook
。