我使用SVN作为源控制系统,我想知道如何比较目录而忽略任何元数据差异.有没有办法告诉svn diff我只比较实际内容并忽略任何元数据?
我的意思是像SVN属性等元数据,它们不会影响文件内容.假设文件X在分支B中具有与trunk T相比的附加属性.不幸的是,即使文件X的实际内容相同,它也将显示在'svn diff TB'中.
我寻找这样的东西:
svn diff https://example.org/tags/v1 https://example.org/tags/v2 -x -ignore-metadata --summarize
Run Code Online (Sandbox Code Playgroud)
更新:我通过直接在文件系统上进行差异而不是使用SVN工具来解决这个问题.请看下面我自己的答案......
背景:编写自动发布脚本以从SVN版本之间导出已更改的文件并上载到远程服务器.
svn log命令显示已修改的文件和属性,但似乎无法区分内容修改与属性修改之间的详细输出.
我是否错误地阅读此输出,或者是否有一种简单的方法可以在修订版之间获取已更改文件的列表,同时忽略道具更改
这是我的示例cmd:
#: svn log "someurl" -r 2210:HEAD -v -q
Output:
------------------------------------------------------------------------
r2211 | author | 2010-02-08 12:36:56 +1300 (Mon, 08 Feb 2010)
Changed paths:
M /branches/project/release-v1-r-maintenance
M /branches/project/release-v1-r-maintenance/offroot/
M /branches/project/release-v1-r-maintenance/offroot/test.config
------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
前两个只是prop更改(mergeinfo,ignores等),而第三个项目是实际的内容编辑,这是我想要抓取的真实项目,以避免全部导出整个root.
无论如何只是从svn日志或其他命令获取/过滤内容更改.