是否有方法在svn diff或其他工具(基於linux)到只顯示空白/製表符變化?svn diff只有空白/製表符變化
目的,我不想要檢查這些差異。我可以在簽入之前將這些行放回相同的狀態,如果某個工具可以捕獲這些差異。
感謝,
是否有方法在svn diff或其他工具(基於linux)到只顯示空白/製表符變化?svn diff只有空白/製表符變化
目的,我不想要檢查這些差異。我可以在簽入之前將這些行放回相同的狀態,如果某個工具可以捕獲這些差異。
感謝,
這應該適合你。
#!/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
此外,而不是將行回到相同的狀態,爲什麼不只是恢復這些文件?
Beyond Compare將顯示那些用不同的顏色取決於文件的類型高亮顯示。他們有Linux版本,但我沒有使用它。儘管這是一個很好的差異工具。
謝謝穆斯。我正在尋找一個可以從命令行運行的工具..我想根據那些會說如果我觸及的文件在某些行上只有「只有空白變化」的腳本來創建腳本,所以不要提交。 – Xprog 2010-10-28 02:11:02
@ 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
Thanks mfisch。 ..很抱歉,如果我的問題不明確的地方。你的回答幾乎是正確的。我想看看是否有文件只有空格變化的行。 (不是整個文件).. FILES ='svn status | awk'{print $ 2}'' for $ file中的文件 do COUNT1 ='svn diff $ file --diff-cmd'diff'-x'-w'| wc -l' COUNT2 ='svn diff $ file --diff-cmd'diff'| wc -l' if [! $ COUNT1 = $ COUNT2] then echo「$ file has whitespace changes」 fi done – Xprog 2010-10-28 03:15:02