Изменения в обновлении проекта объединяются с настроенной версией - PullRequest
2 голосов
/ 29 ноября 2011

Я управляю интернет-магазином с открытым исходным кодом (nopcommerce) и сделал множество настроек для этого магазина.

Каждый раз, когда выпускается новая версия программного обеспечения, я использую winmerge, чтобы попытаться определить, какие файлы были изменены, а затем объединить эти изменения в проект. Это работает хорошо, но по мере того, как мои настройки растут, эта задача становится все более проблематичной.

Что я действительно хотел бы сделать, так это иметь возможность получить разницу из моей текущей версии в новую версию, а затем пройти и применить изменения, которые я хочу. Если я использую TFS для этого, есть ли стандартный способ сделать это? Возможно приложение с 3 путями слияния сделало бы работу лучше?

Чтобы еще больше усложнить ситуацию, я использую поддержку тем для добавления своих измененных представлений в другое место, поэтому изменения от версии к версии необходимо выяснить и применить к файлам в этой дополнительной папке.

На самом деле именно здесь возникает большая головная боль, определяющая, какие изменения я сделал, а какие - новые изменения по сравнению с новой версией.

Ответы [ 2 ]

1 голос
/ 29 ноября 2011

nopCommerce размещает свой исходный код в Mercurial через CodePlex . Все, что вам действительно нужно сделать, это клонировать их хранилище и внести изменения в ваш локальный клон. Затем вы можете не отставать от их модификаций или подождать, пока выйдет следующий выпуск, затем получить обновление из репозитория и объединить его с вашими изменениями. Mercurial, будучи распределенной системой управления версиями, просто хорошо сливается, и у вас будет меньше проблем, если вы попытаетесь сделать что-то вручную для себя, используя Subversion, TFS или что-то кроме Mercurial. Скачайте TortoiseHg , который предоставляет вам приятный графический интерфейс и инструменты командной строки для Mercurial. TortoiseHg поставляется с инструментом слияния KDiff3, но я настоятельно рекомендую Beyond Compare . Это не бесплатно, но я бы заплатил за это программное обеспечение в сто раз больше.

Как всегда, если вам нужна помощь с использованием Mercurial, см. Hg Book .

0 голосов
/ 29 ноября 2011

Я использовал и TFS, и Subversion , и я настоятельно рекомендую Subversion (исходный репозиторий) с TortoiseSVN (командная строка) и VisualSVN (интегрирован в Visual Studio ).

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

Вы также можете добавить CruiseControl непрерывную интеграцию, чтобы автоматически строить свое решение и запускать модульные тесты при каждой регистрации, чтобы убедиться, что вы случайно не сломали что-либо.

...