svn diff - только пробелы / табуляция - PullRequest
4 голосов
/ 28 октября 2010

Есть ли способ в svn diff или любом другом инструменте (на основе linux), чтобы показывал только изменения пробела / табуляции ?.

Цель, я не хочу, чтобы эти различия были отмечены.Я могу вернуть эти строки в то же состояние перед проверкой, может ли инструмент перехватить эти различия.

Спасибо,

Ответы [ 3 ]

5 голосов
/ 28 октября 2010

Это должно работать для вас.

#!/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

Кроме того, вместо того, чтобы вернуть строки в одно и то же состояние, почему бы просто не вернуть эти файлы?

2 голосов
/ 04 июня 2014

Несколько улучшений для скрипта @ 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
0 голосов
/ 28 октября 2010

Beyond Compare покажет те, которые выделены другим цветом в зависимости от типа файла. у них есть версия для Linux, но я не использовал ее. Это отличный инструмент для сравнения.

...