Проблемы с игнорированием пользовательских незначительных различий в Beyond Compare 3
Быстрая преамбула
Прежде чем вы отметите это как дубликат этого вопроса, я пробую это самое решение, и у меня все еще есть проблемы.
Вопрос
Я пытаюсь сравнить файлы между двумя папками веб-сайта ASP.Net с помощью Beyond Compare v3.3. В одной папке определены все файлы.ascx.cs, а в другой наследуется код от библиотеки DLL.
Так что на левой стороне, файлы.ascx имеют
<%@ Control Language="c#" Inherits="MyControl" CodeFile="MyControl.ascx.cs" %>
и на правой стороне, они имеют
<%@ Control Language="c#" Inherits="MyControl, MyAssembly" %>
Если это единственные различия в файле, я хочу, чтобы они считались равными с помощью функции игнорирования несущественных различий.
При быстром поиске в Google возникает вопрос Stackru и эта страница поддержки, которые в основном говорят одно и то же.
Я следовал их указаниям, но он все еще не работает.
Вот что я сделал:
- Начался новый сеанс сравнения папок.
- Открыл файл.ascx.
- Нажмите кнопку "Правила", чтобы открыть диалоговое окно "Настройки сеанса".
- На вкладке "Важность" нажмите кнопку "Изменить грамматику".
- Нажал кнопку "Новый...".
Установите "Имя элемента" на "CodeFile", "Соответствие текста" на
(Inherits|CodeFile)\s*=\s*(["'])[^'"]+\2
поставил флажок "Регулярное выражение", снял флажок "Этот элемент чувствителен к регистру" и нажал кнопку "ОК".
- Нажал кнопку ОК.
- (Теперь вернемся на вкладку "Важность"). Снимите флажок "CodeFile".
- В раскрывающемся списке выберите "Обновить настройки сеанса" и нажмите кнопку "ОК".
Просто чтобы дважды проверить правильность моего регулярного выражения, я запустил Ctrl+F для двух файлов.ascx, используя регулярное выражение. Он нашел все три экземпляра правильно (Inherits="..." в левом файле и Inherits="..." и CodeFile="..." справа).
Даже при сравнении файлов (в отличие от сравнения папок) различия не помечаются как несущественные. Эти конкретные строки имеют различия в случае, и это правильно помечает их как неважные, но CodeFile
а также Inherits
это все еще жалуется.
Я подумал, что, может быть, это потому, что у одной стороны было два различия, а у другой - одна, поэтому я добавил комментарий к одному файлу, который, как я понимаю, имеет точно такой же тип правил, что и моя новая. BC3 также правильно проигнорировал комментарий.
Есть идеи?
1 ответ
У меня были проблемы с игнорированием строк с sp_updateextendedproperty или sp_addextendedproperty для файлов SQL. Душа, которую я нашел, состояла в том, чтобы убедиться, что регулярное выражение действительно соответствует всей строке, а не только ее части. Изначально я использовал: EXEC sp_ (update | add) extendedproperty
Чтобы решить проблему соответствия, я изменил ее на:. * EXEC sp_ (update | add) extendedproperty. *
Это включает в себя любые добавленные или добавленные символы