ng-show
и ng-hide
просто устанавливают отображение на «Нет», но ng-if
фактически удаляет элемент из DOM.
Что касается производительности, я думаю, что он не делает никаких огромная разница, но поскольку ng-if
удаляет все обработчики событий, прикрепленные к этому элементу и его дочерним элементам, а также элемент DOM, поэтому я думаю, что ng-show
или ng-hide
будут быстрее.
wdiff выполняет пословное сравнение. Git можно настроить для использования внешней программы для сравнения. Основываясь на этих двух фактах и этом сообщении в блоге , следующее должно делать примерно то, что вы хотите.
Создайте сценарий для игнорирования большинства ненужных аргументов, которые предоставляет git-diff
, и передайте их в wdiff
. Сохраните следующее как ~ / wdiff.py
или что-то подобное и сделайте его исполняемым.
#!/usr/bin/python
import sys
import os
os.system('wdiff -s3 "%s" "%s"' % (sys.argv[2], sys.argv[5]))
Скажите git
использовать его.
git config --global diff.external ~/wdiff.py
git diff filename
В Git'е есть (уже давно) опция --color-words
для git diff
. Это не даст вам подсчета, но позволит увидеть различия. Предложение
scompt.com о wdiff также хорошо; его довольно легко запихнуть в другой дифф (см. git-difftool). Отсюда вы просто должны перейти от вывода, который может дать wdiff, к результату, который вам действительно нужен.
Есть ещё одна интересная вещь, которой можно поделиться с git's what's cooking:
* tr/word-diff (2010-04-14) 1 commit
(merged to 'next' on 2010-05-04 at d191b25)
+ diff: add --word-diff option that generalizes --color-words
Вот коммит, представляющий word-diff. Предположительно, он скоро перейдёт из next в master, и тогда git сможет делать всё это сам - либо создавая свой собственный формат word-diff, либо что-то похожее на wdiff. Если вы смелы, вы можете собрать git из next, или просто слить этот коммит в ваш локальный master для сборки.
Спасибо за комментарий Якуба: при необходимости вы можете дополнительно настроить word diffs, предоставив word regex (config-параметр diff.*.wordRegex), документированный в gitattributes.
git diff --word-diff работает в последней стабильной версии git (на git-scm.com)
Есть несколько параметров, которые позволяют вам решить, какой формат вам нужен. in значение по умолчанию вполне читаемо, но вам может потребоваться --word-diff = porcelain, если вы вводите вывод в скрипт.