Svn path не найден на ветке, не участвующей в операции слияния

Я пытаюсь объединить один файл из моего trunk до ветки (wc), и я получаю ошибку нечетного пути, не найденную для пути, который, как представляется, находится в ветки, не участвующей в текущей операции слияния.

Например, в нашем проекте svn мы имеем:

  • ветки
    • branch0
    • branch1
    • branch2
    • branch3
    • branch4
  • теги
    • ... [некоторые теги]
  • багажник

Я проверил branch4, и это моя рабочая копия. После исправления производственной ошибки на багажнике, я хочу объединить свое изменение с багажника на ветку4. Я пытаюсь сделать это, используя следующую команду:

svn merge https://svn.svnprovider.com/my-account/my-project/trunk/path/to/file/my-file.java path/to/file/my-file.java

Я сделал это с другими файлами без проблем, однако для этого файла я получаю ошибку, подобную: (проприетарная информация в реальных файлах и пути, следовательно, пример)

svn: '/my-account/!svn/bc/1732/my-project/branches/ branch1/path/to/file/my-file.java путь не найден

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

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

Кто-нибудь сталкивался с подобной проблемой и определял причину и исправление. Большая благодарность.

Ответ 1

Попробуйте использовать параметр - ignore-ancestry при выполнении слияния. Возможно, история слияния является неполной (возможно, из-за черепахи или любого клиента для этого факта), и что-то, что было сделано на ветке1, пытается применить к рабочей копии, когда вы выполняете "нормальное" слияние.

Ответ 2

Я столкнулся с аналогичной проблемой. Как и в случае с преподобным, мой файл был один раз в другой ветке, снова слит обратно в багажник и снова разветвлен.

Причина ошибки для меня не прослеживается.

Что помогло мне в использовать параметр -c и объединить только изменение из интересующей меня версии.

svn merge -c 12345 https://svn.svnprovider.com/my-account/my-project/trunk/path/to/file/my-file.java path/to/file/my-file.java