Недавно я столкнулся с особенно липкой проблемой, связанной с получением результата слияния в подрывной деятельности. Наш сервер Subversion - @1.5.0, и мой клиент TortoiseSVN теперь @1.6.1.
Я пытаюсь объединить ветвь функции обратно в мой сундук. Слияние, похоже, работает нормально; однако коммит не выполняется со следующим сообщением об ошибке.
Commit failed (details follow):
File
'flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as'
is out of date
'/svn/ibis/!svn/wrk/531d459d-80fa-ea46-bfb4-940d79ee6d2e/visualization/trunk/source/flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as'
path not found
You have to update your working copy first.
Мой рабочий ствол обновлен. Я даже проверил новый в другой папке, чтобы убедиться, что не было какого-либо локального крутильного беспорядка с слиянием. Я сделал еще несколько исследований в этом, и я думаю, что часть проблемы - ошибка пользователя. Я думаю, что наши проблемы:
- У нас были некоторые разработчики, совершающие работу с клиентом subversion до 1,5 и после. Я считаю, что это может привести к повреждению информации о слиянии.
- В других ветвях мы выполнили частичные слияния. То есть мы не всегда выполняли слияния в корне ветки. Это должно было облегчить обновление усилий Flex и .NET в одной ветке.
- Мы выполнили циклические (рефлексивные) слияния на нашей ветке. Это было сделано, потому что у нас было несколько параллельных ветвей, и мы хотели периодически обновлять нашу ветвь с последним кодом в trunk.
Все эти вещи явно не рекомендуются книгой/командой Subversion. Мы изучили наш урок и теперь знаем лучшие практики. Однако сначала нам нужно объединить и перенести нашу последнюю ветвь.
Каков наилучший способ исправить проблемы, с которыми мы сталкиваемся?
Будет ли удаление всей информации о слиянии в магистрали и ветке жизнеспособным решением? Нет. Я сделал это, но он не разрешает ошибку, которую я получаю выше.