且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何判断 SVN 工作副本中的所有目录都指向同一个存储库根目录?

更新时间:2023-01-22 10:45:47

如果您可以使用 Powershell,请使用以下内容:

If you can use Powershell use something like below:

gci -Recurse | ?{ $_.psIsContainer -eq $true} | %{svn info $_.fullname} | select-string -Pattern "PATH:|URL:"

对于您工作副本中的每个文件夹,它都会显示您的存储库中的路径和 url.如果某个文件夹切换到一个分支,你可以看到那个url和路径.

For every folder in your working copy, it will display the path and the url from your repo. If some folder is switched to a branch, you can see that url and the path.

您可以轻松调整它以仅打印当前分支(或主干)之外的路径和网址

You can easily tweak it to print only the path and urls that are outside of your current branch ( or trunk )

忽略未版本控制的文件夹很容易:

Ignoring unversioned folders is easy:

(svn status $_.fullname) -notmatch "\?")

所以整个事情将是:

gci | ?{ $_.psIsContainer -eq $true -and ((svn status $_.fullname) -notmatch "\?")} | %{svn info $_.fullname} | select-string -Pattern "PATH:|URL:"

你需要有一个命令行 svn 客户端,比如 SlikSVN 或 CollabnetSVN 并且在路径上.

You need to have a command line svn client like SlikSVN or CollabnetSVN and on path.