PhpStorm в в "игнорировать пробелы" просто работает. Он автоматически игнорирует различия в возврате каретки/EOL/newline/what-have-you. Вы можете тратить время на вождение тайными командами unix или что-то еще, или вы могли бы просто получить то, что действительно работает и продвигаться вперед.
- Использование любого из вышеперечисленных решений не удалось на Mountain Lion (включая тот, который указан как правильный ответ). Все ссылки для скачивания для «Diff-npatch» не удались. (Я нашел http://webperso.easyconnect.fr/bdesgraupes/tools.html, но мне действительно не нравится идея использовать инструмент diff, который нельзя вызвать из командной строки и, таким образом, интегрировать с любым инструментом IDE или VCS, который я могу использовать, например BBEdit, SourceTree, или SmartSVN - все из которых, кстати, не смогли игнорировать переводы строк с их встроенным инструментом дифф
Да, мои переводы строк \ г, но так, что Arrr Если программное обеспечение слишком глуп, чтобы понять.?! что \ r == \ n, тогда я просто собираюсь использовать другое программное обеспечение, которое -. Умный достаточно.
PHPStorm был единственным программным обеспечением, в котором был установлен инструмент «просто сработал» - вот что я ожидаю Программное обеспечение Mac. Я ожидаю, что Mac soft посуда до просто работа. Я использую Mac, поэтому я могу выполнять свою работу вместо того, чтобы изучать тайные команды терминала на каждом шагу, которые почти все плохо документированы, ожидая, что вы просто поймете, как команды должны быть отформатированы без каких-либо четких примеров, поэтому вы никогда не знаете, вы делаете это неправильно или если команда просто не работает так же, как и все другие плохие программы. Возьмем такой пример из «человек дифф»:
-I RE --ignore-matching-lines=RE
Ignore changes whose lines all match RE.
ОК, так что, прочитав это, я понятия не имею, что это значит. Нет примера его использования. Что такое «RE»? Он нигде не говорит.
Тогда есть этот драгоценный камень:
--GTYPE-group-format=GFMT
Similar, but format GTYPE input groups with GFMT.
--line-format=LFMT
Similar, but format all input lines with LFMT.
--LTYPE-line-format=LFMT
Similar, but format LTYPE input lines with LFMT.
LTYPE is `old', `new', or `unchanged'.
GTYPE is LTYPE or `changed'.
GFMT may contain:
%< lines from FILE1
%> lines from FILE2
%= lines common to FILE1 and FILE2
%[-][WIDTH][.[PREC]]{doxX}LETTER
printf-style spec for LETTER
LETTERs are as follows for new group, lower case for old group:
F first line number
L last line number
N number of lines = L-F+1
E F-1
M L+1
LFMT may contain:
%L contents of line
%l contents of line, excluding any trailing newline
%[-][WIDTH][.[PREC]]{doxX}n
printf-style spec for input line number
Either GFMT or LFMT may contain:
%% %
%c'C' the single character C
%c'\OOO'
the character with octal code OOO
Я не мог сделать никакого смысла этого отрывка. Что такое «ввод»? Это оба файла или только файл «to» или просто «из» файла?Что такое «похоже»? Что означает «есть» в предложении, «GFMT» - это «LTYPE» или «изменено»? Означает ли это, что «может быть заменено на»? Если да, то почему не «GFMT» в цитатах или скобках и т. Д.? Поскольку ни один пример не приведен, нет никакого способа узнать; формулировка документации полностью неоднозначна. Что означает «GFMT может содержать» ... означает? «Содержит» означает, что текст, заменяющий аббревиатуру GFMT, может содержать это? Без четкого примера это совершенно бесполезно.
Почему бы даже написать справочную страницу, если вы собираетесь сделать ее настолько загадочной и двусмысленной, что это бесполезно для всех, кто еще не знает, как использовать программное обеспечение? В этот момент это не руководство; это просто справочная страница для парней, которые написали программное обеспечение, чтобы они могли вспомнить, как его использовать. Думаю, они предполагают, что вы просто прочитаете исходный код, если хотите узнать, что он на самом деле делает.
Мое время ценно. Я бы предпочел просто заплатить деньги за то, что у вас есть программное обеспечение, которое действительно работает правильно и имеет соответствующую документацию.
Поскольку все они не смогли:
diff -d --strip-trailing-cr --ignore-all-space --from-file=rest.phtml test.phtml
... не смог игнорировать \ R символов.
diff -wd --strip-trailing-cr --ignore-all-space --from-file=rest.phtml test.phtml
... не удалось игнорировать символы \ r.
diff -wd --suppress-common-lines --strip-trailing-cr --ignore-all-space --from-file=rest.phtml test.phtml
... не удалось игнорировать символы \ r.
diff -wd test.phtml rest.phtml --suppress-common-lines --strip-trailing-cr --ignore-all-space
... не удалось игнорировать символы \ r.
diff -awd test.phtml rest.phtml --suppress-common-lines --strip-trailing-cr --ignore-all-space
... не удалось игнорировать символы \ r.
В этом случае, если они были \ n символами, они также не сработали при добавлении \ n символов.
Где test.phtml ==
Foo
бар
и rest.html ==
Foobar
Команда "дифф" всегда дает вам что-то вроде:
* 1,2 **! foo! bar \ No newline в конце файла
--- 1 ----! foobar \ No newline в конце файла
... сбой!
Если у него есть файлы с окнами style \ r \ n, то это приведет к замене каждого разрыва строки Windows на \ n \ n, что, вероятно, не является желаемым эффектом. – Jay
Правда, но я принимал во внимание, что он упомянул только о концах строк в стиле mac и unix ... – UncleZeiv
нет, это все маки, и у меня уже был mac2unix, который был очень похож (использует tr вместо sed, но да .. .) –