svn diff空格/制表仅更改

时间:2010-10-28 02:02:06

标签: diff whitespace

在svn diff或任何其他工具(基于linux)中是否有方法仅显示空白/标签更改?。

目的,我不想要检查那些差异。如果工具可以捕获那些差异,我可以在检入之前将这些行放回到相同的状态。

谢谢,

3 个答案:

答案 0 :(得分:5)

这应该适合你。

#!/bin/bash

FILES=`svn status | awk '{ print $2}'`
for file in $FILES
do
    COUNT=`svn diff $file --diff-cmd 'diff' -x '-w' | wc -l`
    if [ $COUNT -le 2 ]
    then
       echo "$file has only whitespace changes"
    fi
done

此外,为什么不将这些文件恢复到同一状态呢?

答案 1 :(得分:2)

@ mfisch脚本的一些改进:仅处理具有文本修改的文件,并支持带空格的文件名。

#!/bin/bash

svn status | grep ^M | sed 's/^........//' |
while read -r file
do
    COUNT=$(svn diff "$file" --diff-cmd 'diff' -x '-w' | wc -l)
    if [ $COUNT -le 2 ]
    then
       echo "$file has only whitespace changes"
       # svn revert "$file"
    fi
done

答案 2 :(得分:0)

Beyond Compare会根据文件类型显示以不同颜色突出显示的内容。他们确实有Linux版本,但我还没有使用它。这是一个伟大的差异工具。