繁体   English   中英

如何在工作副本中递归列出切换的svn目录?

[英]How to list switched svn directories recursively in a working copy?

我已经从存储库中签出了一份工作副本,并将某些目录切换到了不同的URL,但是在同一仓库中(同一主机和svn服务器)。

如何列出这些切换的目录?

我们将许多切换用于内部目的,这将有助于轻松地在工作副本中列出所有这些内容,直到消除了这种烦琐的切换用法。

(1)@ ks1322提供的答案很简洁,除了一个小的调整外,它的工作效果很好:一个人应该使用“ ^ URL”而不是“ URL”,因为有些文件也会报告Copied from URLCopied from URL 这是我的系统上的一些示例输出,显示了这个小问题:

URL: file:///C:/usr/tmp/SvnSandbox/branches/sub-branch1
URL: file:///C:/usr/tmp/SvnSandbox/branches/sub-branch1/commands
URL: file:///C:/usr/tmp/SvnSandbox/branches/sub-branch1/commands/show%20test.cmd
URL: file:///C:/usr/tmp/SvnSandbox/trunk/commands/subdir
URL: file:///C:/usr/tmp/SvnSandbox/trunk/commands/subdir/stuff.txt
URL: file:///C:/usr/tmp/SvnSandbox/branches/sub-branch1/commands/reversion_test.txt
URL: file:///C:/usr/tmp/SvnSandbox/branches/sub-branch1/file-on-branch1.txt
Copied From URL: file:///C:/usr/tmp/SvnSandbox/branches/branch1/file-on-branch1.txt
URL: file:///C:/usr/tmp/SvnSandbox/branches/sub-branch1/externals
URL: file:///C:/usr/tmp/SvnSandbox/branches/sub-branch1/file-on-branch-and-subbranch.txt
URL: file:///C:/usr/tmp/SvnSandbox/branches/sub-branch1/file-on-sub-branch1.txt

(2)对于Windows系统上的用户,一个等效命令(使用PowerShell)为:

svn info --depth=infinity | Select-String ^URL

(3)但是对于具有更高信噪比的输出,请尝试以下操作:

Get-SvnInfo . -Recurse -ContainersOnly Path, URL | 
Format-Table Path, `
    @{ n='Branch'; `
       e={$_.URL -replace ".*(trunk|branches/[^/]*).*", '$1'} }

该序列的输出使您一目了然地了解了您需要了解的内容。 从我的第一个示例中使用的同一示例树中,它揭示了以下内容:

Path                              Branch
----                              ------
commands                          branches/sub-branch1
externals                         branches/sub-branch1
commands\subdir                   trunk
externals\commonlib               trunk
externals\commonlib\textfiles     trunk

(可从我的开源PowerShell库中Get-SvnInfo cmdlet,有关详细信息,请参阅我的API书架上的PowerShell书。)

您可以使用以下命令以递归方式列出工作副本中所有文件和目录的URL:

svn info --depth=infinity|grep URL

您将在输出中看到切换的URL,因此也会看到切换的目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM