如何查看使用svn设置的所有忽略模式:在SVN存储库中递归忽略?

ste*_*ott 67 svn awk grep

我看到可以使用proplist和-R标志(递归)和-v标志(详细)查看SVN存储库中每个目录上设置的属性列表:

svn proplist -Rv
Run Code Online (Sandbox Code Playgroud)

这显示了所有属性,例如svn:mime-type或svn:executable.我想过滤这个只是svn:ignore属性.我确信有一些方法可以通过一个shell命令来管理这个命令的结果,这个命令只能显示我感兴趣的行,但是我无法弄清楚如何去做.作为最有用的东西类型的例子是这样的某种类型的命令(但是这个不起作用!).

svn proplist -Rv | grep "^  svn:ignore" | awk "{print \$1}"
Run Code Online (Sandbox Code Playgroud)

我只是不太了解像grepawk这样的shell命令,这对我有用.这只是一遍又一遍地显示"svn:ignore",但它不会打印出目录路径或svn:ignore属性的内容.以下是我想要获取的"svn proplist -Rv"输出的示例,其中'cache'是路径,'*'是属性的值.

Properties on 'cache':
  svn:ignore
    *
Run Code Online (Sandbox Code Playgroud)

如何使上述命令起作用和/或是否有更好的方法来查看svn:ignore我的存储库中的所有属性?

Mar*_*wis 134

svn pg -R svn:ignore .
Run Code Online (Sandbox Code Playgroud)

... pg作为简写符号propget,所以这等于......

svn propget -R svn:ignore .
Run Code Online (Sandbox Code Playgroud)

  • @Ram - 递归不起作用.像SVN一样,Git允许您[将忽略模式应用于子目录](http://www.kernel.org/pub/software/scm/git/docs/gitignore.html#_description)而不仅仅是根.gitignore.你想要`cat \`find -name .gitignore \`| less`或`find -name .gitignore -exec cat {} \; | 更少,既不像使用-R开关IMO那么漂亮.(那就是说,我很喜欢你的[博客文章](http://blog.garlicsim.org/post/9583964892/a-git-users-first-and-hopefully-last-foray-into).我正在学习Git来自Subversion,看看篱笆的另一边很有意思!) (11认同)
  • `git svn show-ignore | grep -ve'^#\ | ^ [[:space:]]*$'> .gitignore` (2认同)