Как мне исправить “Сбой фиксации.Файл xxx устарел.xxx путь не найден ”.

StackOverflow https://stackoverflow.com/questions/819896

  •  03-07-2019
  •  | 
  •  

Вопрос

Недавно я столкнулся с особенно сложной проблемой, связанной с фиксацией результата слияния в subversion.Наш сервер 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.

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

  1. У нас были некоторые разработчики, которые выполняли работу с клиентом subversion до версии 1.5, а некоторые и после.Я считаю, что это может привести к искажению информации о слиянии.
  2. В других филиалах мы выполнили частичные слияния.То есть мы не всегда выполняли слияния в корне ветви.Это было сделано для облегчения обновления Flex и .NET в рамках одной ветки.
  3. Мы выполнили циклические (рефлексивные) слияния в нашей ветке.Это было сделано потому, что у нас было несколько параллельных ветвей, и мы хотели периодически обновлять нашу ветку последним кодом в trunk.

Все эти вещи явно не рекомендуются книгой / командой Subversion.Мы усвоили наш урок и теперь знаем лучшие практики.Однако сначала нам нужно объединить и зафиксировать нашу последнюю ветку.

Каков наилучший способ исправить проблемы, с которыми мы сталкиваемся?

Было бы ли удаление всей информации о слиянии в магистрали и ветке жизнеспособным решением?Нет.Я сделал это, но это не устраняет ошибку, которую я получаю выше.

Это было полезно?

Решение

У меня была та же проблема сегодня, и я не делал промежуточных слияний, поэтому из вашего вступительного поста может подойти только # 1 - однако я сделал коммиты как из svn-клиента в ubuntu, так и из tortoisesvn в windows. К счастью, в моем случае не было никаких изменений в стволе, поэтому я мог просто заменить ствол на ветку. Возможно разные версии SVN тогда? Это очень беспокоит.

Если вы используете функции svn move / copy / delete, хотя в моем случае история не теряется - я svn переместил ствол, а затем svn переместил ветку в ствол.

Другие советы

У меня просто была эта проблема, и причина, казалось, была в том, что каталог был помечен как конфликтующий. Чтобы исправить:

svn update
svn resolved <the directory in conflict>
svn commit

Я получал это на сервере 1.6.2, черепаха 1.6.8. Все в Windows, нет слияния в этой ветке.

Я переименовал каталог, и каким-то образом (возможно, из-за AnkhSVN) два файла в каталоге были помечены как " заменены " а не "нормальный". В другие файлы в каталоге были внесены некоторые незначительные изменения.

Возврат файлов, помеченных как замененные, устранил проблему.

У меня тоже была такая же проблема, и я решил ее следующим способом

svn resolve --accept=working <FILE/FOLDER NAME>
svn cleanup
svn update <FILE/FOLDER NAME>
svn commit <FILE/FOLDER NAME> -m "Comment"

Надеюсь, это поможет вам:)

У меня была такая же проблема при попытке зафиксировать мою рабочую копию. Я добавил папку, которую Subversion сообщает как «путь не найден». в список игнорируемых. Фиксация (должна быть успешной). Затем добавьте эту же папку обратно в Subversion. Подтвердите еще раз.

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

  • svn экспортирует мою рабочую папку (включая неверсированные файлы) во временную папку.
  • переименуйте рабочую папку в резервную копию.
  • svn проверяет магистраль.
  • скопируйте всю папку из временной папки экспорта поверх новой рабочей папки.
  • svn фиксирует.

Теперь, кажется, все в порядке.

Я знаю, что это старый пост, но эта проблема все еще встречается довольно часто. Самый простой способ, который я нашел, - это переименовать / удалить файл .svn / all-wcprops в уязвимой папке, затем запустить обновление и зафиксировать.

У меня была та же проблема, не знаю, в чем причина, но я исправил ее, набрав в терминале

svn update

а потом я фиксирую и бум это работает!

О, мальчик! Это выглядит плохо! Единственный вариант, о котором я могу подумать, это то, что рабочая копия повреждена.

Попробуйте удалить рабочую копию, выполнить новую проверку и снова выполнить объединение.

Если это не сработает, зарегистрируйте ошибку.

Мне не удалось найти удовлетворительное решение этой проблемы; Однако я нашел неудовлетворительное решение.

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

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

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

У меня была такая же проблема после слияния ветки с кучей изменений обратно в мой ствол. Единственные два решения, которые я видел, - это решение svn move, предлагаемое Pacifika , или ручное объединение файлов с помощью инструмента diff , Но я нашел обходной путь ...

На машине, которая не работала, был запущен клиент Subversion 1.6.5. Я делал то же самое на машине с Subversion 1.5.4, и она работала ! На обеих машинах я сделал 1) чистую проверку ствола, 2) svn merge ... и 3) svn commit. Мой сервер стоит 1.5.x, что стоит.

Надеюсь, это кому-нибудь поможет.

Была аналогичная проблема с SVN 1.6.5 на Mac 10.6.5, обновлен до SVN 1.6.9, и фиксация прошла успешно.

У меня была такая же проблема, когда я попытался зафиксировать удаленный пакет (который содержит различные классы java, но ничего из пакета больше не было нужно).

Мое решение / обходной путь для устранения проблемы:

  • Я перевернул весь пакет
  • сначала удалил содержимое
  • отправил удаленный контент
  • наконец я снова отправил удаленный пакет (и это сработало в большинстве случаев :-))

Однако время от времени не удавалось зафиксировать удаленный пакет (который ничего не содержит).

Мой обходной путь:

  • Я создал фиктивный класс в пакете
  • и после этого я повторил шаги, упомянутые выше

Мой последний намек...

Но иногда помогает просто синхронизировать пакет / проект еще раз, и после этого все снова работает отлично.



О моей конфигурации:

  • Неоновое Затмение
  • Интерфейс SVN:JavaHL (JNI) 1.8.13 (r1667537)
  • VisualSVN Server Manager, Версия:3.3.1



Может быть, я мог бы помочь кому-нибудь одним из своих советов.

Мне кажется, я видел нечто похожее, когда папки перемещались на сервер, но рабочие копии все еще были связаны со старой структурой папок SVN. Не уверен, что кто-то переместил вещи в вашем стволе, прежде чем у вас была возможность слить ветку.

Это возможно?

Это похоже на проблему с выходом свойства svn: mergeinfo из раздела между веткой и транком.

Что приводит к следующим вопросам (простите мои инструкции из командной строки, так как я часто использую черепаху):

<Ол>
  • Вы объединяетесь на уровне корневого ствола или на уровне подпапок? По моему опыту, это всегда лучше делать на корневом уровне, таким образом весь ствол думает, что он был объединен, а не просто частью (это, кажется, сильно запутывает svn в 1.5.0)

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

  • Вы слили ствол в ветку до того, как реинтегрировались? Это может помочь в устранении конфликтов, которые могут возникнуть при слиянии?

  • Есть ли у вас какие-либо свойства svn: mergeinfo в ветви, которые не находятся на корневом уровне? Я обнаружил, что это всегда вызывает проблемы. Вы всегда можете узнать это, перейдя в svn -R pg svn: mergeinfo . Затем вы можете записать местоположения и ревизии, которые были ниже корня, если вы находите их релевантными, переместите их в корень с помощью svn merge --record-only -r start: end < location > и затем удалите их из корневого каталога с помощью svn pd svn: mergeinfo < location > Затем вам нужно зафиксировать эти изменения

  • Как только вы закончите, попробуйте снова объединиться.

  • Я сомневаюсь в этом, но, возможно, запуск очистки svn в вашем рабочем каталоге поможет.

    Я столкнулся с той же проблемой, поднял голову и обнаружил, что я изменил каталог в хранилище с " / " в "/ trunk" и забыл сделать " Переключить " команда, в TortoiseSVN!

    Ого, этот вопрос занял у меня некоторое время, так как я использовал SVN через Eclipse. В конце концов, единственное, что сработало для меня, это зафиксировать все незатронутые файлы, затем (с закрытым Eclipse) переименовать каталог проекта и повторно проверить проект из SVN. Рад, что теперь он работает правильно!

    Очевидно, SVN - не очень надежная программа.У меня была такая же проблема (использование SVN с Turtoise), и я решил ее, сохранив содержимое файла .cs, а затем вернувшись на 1 ревизию.Это показало конфликты, подобные этому:"<<<<<<< имя файла моих изменений

    ======= код, объединенный из репозитория доработка "

    пока я не сделал ничего особенного (просто один раз вернул ревизию).

    Я заменил содержимое этого файла сохраненным содержимым, сохранил, а затем выбрал через TortoiseSVN → Решенный.Затем я мог бы внести изменения в репозиторий.

    Спасибо Джейми Баллоку за эту работу для меня

    Согласно Джейми Баллоку,

    У меня просто была эта проблема, и причина, казалось, была в том, что каталог был помечен как конфликтующий. Чтобы исправить:

    <Ол>
  • svn update
  • svn разрешен
  • svn commit
  • Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top