我有一个 svn 存储库,并且正在寻找向文件添加自定义属性的可能性。
稍后我想从存储库中获取包含具有给定值的给定属性的所有文件。
例子:
我想设置一个名为label
具有值的文件属性123_ABC
。
之后我想从存储库中取出所有标记为“123_ABC”的文件。
这有可能吗?
我正在使用 SVN 和 TortoiseSVN
我有一个 svn 存储库,并且正在寻找向文件添加自定义属性的可能性。
稍后我想从存储库中获取包含具有给定值的给定属性的所有文件。
例子:
我想设置一个名为label
具有值的文件属性123_ABC
。
之后我想从存储库中取出所有标记为“123_ABC”的文件。
这有可能吗?
我正在使用 SVN 和 TortoiseSVN
svn propget label
(或svn proplist
)并验证结果您是否正在为所有修订搜索具有此属性的所有文件?是的,这是可能的,但它很慢而且不容易做到:
$ svn log --diff $REPO
这将对日志进行差异化。当它看到属性差异时,它会打印出属性差异,就像 Subversion 对文件进行比较时所做的那样。当然,这将区分日志中的所有文件,这非常非常慢并产生大量输出。您可以使用grep
或类似的东西来查找版本。
但是,如果你这样做,你还不如跑到楼下的星巴克,在等待的时候喝杯咖啡。哎呀,沿着街区跑到那家不错的咖啡店,在你等待的时候喝一杯拿铁。更好的是,飞到意大利,跑到海岸,在等待的时候在咖啡馆里喝一杯拿铁。这需要一段时间。
如果您发现这会阻止您进行此练习,那很好!
或者,您只是在当前工作目录中的特定文件上搜索此属性?如果是这样,事情并没有那么糟糕:
$ svn plist --depth=infinity --verbose .
这将打印出工作目录中所有文件的所有属性及其值。这将需要一段时间,但不会很长。你会很幸运能在它完成之前下楼到星巴克。再一次,我会将它传送到less
然后搜索我正在寻找的属性。由于您使用的是 Windows,请保存此命令生成的输出,并使用 Notepad++ 之类的工具来搜索该文件。