Intereting Posts
Как обновить мой git, когда файлы будут изменены непосредственно на сервере? Git config с областью каталога, содержащей несколько репозиториев Использование ISVNClientAdapter для операций svn в плагине eclipse XCode: Ошибка завершения в SVN: на устройстве не осталось места Возможна ли двухсторонняя синхронизация между gerrit и github.com? Использование сброса git для слияния Использование git для обзоров кодов? Использование библиотек с контролируемым источником в проектах, управляемых версиями Что может быть причиной получения пустого репозитория svn после загрузки файла дампа? Проблемы с установкой Git с Homebrew Невозможно создать простой псевдоним Git в MinGW32 на Windows 7 Почему GIT не использует значения конфигурации core.editor и commit.template при запуске из командной строки bash? Каковы некоторые из ваших любимых настроек в конфигурационных файлах Git, чтобы сделать Git Fun? Как найти коммит Git, где был удален какой-либо код? Управление многими клиентами с одинаковыми Java-проектами с небольшими изменениями

Почему в Visual Studio 2012 конфликты по умолчанию автоматически разрешаются?

Недавно мы установили Visual Studio 2012, и я работаю над новым проектом там, где есть еще один член нашей команды, используя Team Foundation Server 2010 для управления версиями. Недавно я заметил, что некоторые из моих файлов стали случайным образом искалечиваться при регистрации. Затем заметили в окне вывода уведомления о конфликтах, которые были автоматически разрешены !?

Оказывается, это значение по умолчанию в Visual Studio 2012!

Я нашел статью о MSDN, в которой подробно описывается, как отключить эту психическую настройку ( http://msdn.microsoft.com/en-gb/library/vstudio/ms181432.aspx#automatic_options ), но мне интересно, если кто-нибудь знает, почему это потенциально разрушительная установка будет включена по умолчанию?

Поскольку это значение по умолчанию используется в большинстве других инструментов, и люди, приходящие на Team Foundation Server, считают, что это разочаровывает то, что они должны будут явно сообщить об этом автору. Более того, люди даже не обнаружили очевидным, что им нужно будет прямо сказать, что инструмент должен авторизоваться и жаловаться на огромное количество конфликтов, возникающих при слиянии филиалов, потому что во многих инструментах пользователям даже не говорят о «слить конфликт» до тех пор, пока он не будет устранен. Таким образом, похоже, что Team Foundation Server не удалось выполнить трехстороннее слияние.

Очевидно, что правильное значение по умолчанию – это вызов суда. Я не сделал этого, но я поддерживаю его.

Однако я волнуюсь, что это изменение значений по умолчанию представляет собой некоторые проблемы в рабочем процессе слияния. Automerge может абсолютно производить результаты, которые человек не будет производить , в этом нет никаких сомнений. Но это хорошо зарекомендовавший себя стандарт и обычно считается безопасным, полезным и в целом правильным.

Если это как-то «опасно», то ваш процесс должен поймать его задолго до того, как вы зарегистрируетесь. Надеюсь, вы бы построили локально и запустили полный тестовый проход задолго до того, как вы зарегистрируетесь, и ваша сборка непрерывной интеграции также поймает эти ошибки, если вам не удастся Сделай так.

Если automerge производит неправильный вывод, вы всегда можете объединить файл вручную. И, конечно же, вы можете просто включить параметр automerge для «off».