Реинтегрировать ветку с внешними ошибками в SVN
Что я делаю:
-
Применить внешние свойства к папке в соединительной линии (как один файл, так и внешний каталог, внешние - двоичные файлы)
-
Создайте ветку из соединительной линии и обновите весь проект
-
Измените файл в ветке и зафиксируйте изменения, а затем обновите весь проект.
-
Объединить → "Реинтегрировать ветвь", когда я добираюсь до последнего экрана, я нажимаю "слить тестовые" и получаю эту ошибку:
Ошибка: не может реинтегрироваться в рабочую копию смешанной версии; попробуйте сначала обновить
Я обновляю весь проект и все еще ту же ошибку.
Другие наблюдения:
- Если "Объединить ряд изменений", все будет хорошо.
- Если я удаляю внешние разделы, все работает отлично, используя "Слить диапазон ревизий" или "Реинтегрировать ветвь".
Как решить эту проблему?
Я использую Subversion 1.6.6 с TortoiseSVN 1.6.6.
Ответы
Ответ 1
Состояние смешанной ревизии происходит каждый раз, когда вы совершаете фиксацию. Он исчезает, когда вы делаете обновление.
При выполнении merge --reintegrate
вы должны выполнить команду из проверки внешней линии.
Поэтому сообщение "смешанная ревизия", скорее всего, говорит о том, что проверка trunk находится в состоянии "смешанной ревизии", а не в ветке, которую вы пытаетесь реинтегрировать.
Это согласуется с информацией, которую вы даете, говоря, что вы просто что-то совершили в багажнике.
Сделайте обновление в своей внешней линии (проверка внешней линии, которую использует TortoiseSVN), и все должно быть в порядке.
У меня была такая же проблема, и я сразу не понял, что это был сундук, который был в смешанной ревизии, а не моя ветка.
Ответ 2
Я нашел обход.
-
Получить номер версии для ветки, которую вы собираетесь интегрировать.
-
Обновить до версии (используя TortoiseSVN) и поместить ревизию ветки в указанную
текстовое поле.
-
установите флажок → "Опустить внешние"
Теперь перейдите и снова интегрируйте ветку в туловище, и все работает.
Примечание. Я попытался использовать несколько клиентов, SmartSVN и TortoiseSVN. Они имели ту же ошибку.