当前位置:  开发笔记 > 开发工具 > 正文

是否有SVN DIFF命令的元数据排除过滤器?

如何解决《是否有SVNDIFF命令的元数据排除过滤器?》经验,为你挑选了4个好方法。

我使用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

更新:我通过直接在文件系统上进行差异而不是使用SVN工具来解决这个问题.请看下面我自己的答案......



1> 小智..:

您可以通过'filterdiff --clean'传递svn diff输出以删除任何无关的行,包括属性更改.



2> Joe Watkins..:

如果使用该--summarize选项,则在第二列而不是第一列中指示属性更改.

也就是说,

M  URL  -- indicates content change
 M URL  -- property change
MM URL  -- content and property change

grep更容易一点.我猜你可以有一个两阶段的过程,如果你想要一个完整的差异 - 首先使用汇总来查找内容改变的文件,然后区分它们.



3> 小智..:

来自JosephWatkins的好建议.

这是grep-junior-users的命令:

svn diff A B --summarize | grep '^. '

grep查找空格作为该行的第二个字符.


抱歉.它必须是svn diff AB --summarize | grep -v'^'所有以空格开头的行都必须隐藏,因为只有属性在文件上发生变化.

4> Justin Ryder..:

在搜索svn帮助文档时发现了这一点

svn diff --patch-compatible

和跑步一样

svn diff --show-copies-as-adds --ignore-properties

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有