Филиалы и общие серверы разработчиков? - PullRequest
2 голосов
/ 12 мая 2011

Поэтому я использую Subversion в качестве SCM для классического веб-приложения ASP, которое я поддерживаю. Мы используем функцию ветвления для обработки изменений, которые имеют зависимости или долгосрочную разработку.

Мы используем общие веб-серверы для Dev / QA, и вот мой вопрос. Центральный сервер Dev является рабочей копией транка, и затем, когда мне нужно увидеть изменения в Dev из функциональной ветви, я объединяю их Рабочему экземпляру Dev. Пока все хорошо, но я готовлюсь к плохому настроению в будущем?

Например, сегодня аналитик сказал мне, что я могу «удалить» изменения, которые я внес в функцию, а затем слить ее с сайтом разработчика для демонстрации - не потому, что функция была убита, просто потому, что он этого не сделал. нужно видеть это больше. И я понял, что не могу легко это сделать Изменения, которые я объединил, теперь просто отображаются как локальные изменения в рабочей копии Dev, и я не могу их легко очистить (мне пришлось бы вручную отменить изменения в затронутых файлах, поскольку полный возврат мог / убил бы изменения, связанные с другие функции).

Чем больше я пишу об этом, тем больше чувствую, что отвечаю на свой вопрос. Нужно ли менять стратегию ветвления - ветвь для среды? Или мне нужно иметь отдельный «общий Dev-сайт» для каждой ветви (dev.mysite.com:4801, dev.mysite.com:4802)? Или это в значительной степени, как вы справляетесь с этим?

1 Ответ

1 голос
/ 16 мая 2011

Если функция, которую вы хотите удалить, точно и целиком содержится в одной конкретной ревизии, в любой ветви, связанной с вашей стволом, вы сможете выполнить обратное объединение этой конкретной ревизии с рабочей копией вашей ветви ствола. Посмотрите на параметры команды "svn merge" . Согласно этой странице, вы должны быть в состоянии выполнить команду как это:

svn merge -c -Revision YourDevBranch YourWorkingCopy

Это должно удалить одну ревизию, изначально зафиксированную в ветке, из рабочей копии ствола.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...