TortoiseSVN - «сначала вы должны обновить свою рабочую копию» - PullRequest
7 голосов
/ 08 февраля 2010

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

Command: Commit  
Error: Commit failed (details follow):  
Error: File 'Page.aspx' is out of date  
Error: File not found: transaction '99-4a', path '/trunk/src/Solution.UI/Views/ViewName/Page.aspx'  
Error: You have to update your working copy first.  

Я пытаюсь обновить, но, к сожалению, это не решает проблему.

Command: Update  
Completed: At revision: 99  

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

Error: Commit failed (details follow):  
Error: Base checksum mismatch on '/trunk/src/Solution.UI/Views/ViewName/Page.aspx':  
Error:    expected:  ed3bc4a70ee4256bd2f7cf8c57f29a1f  
Error:      actual:  b8a2797dc262dc714fae6dc897b5ebd2  

Ответы [ 8 ]

13 голосов
/ 08 февраля 2010

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

Сделайте svn update, и разрешение конфликта должно быть автоматическим. Хотя, если вы внесли изменения в те же файлы, он может попросить вас разрешить вручную, даже если это точно такое же изменение (даже более вероятно, если изменение было переименованием папки)

Возможно, вам придется также ввести svn resolved для принудительного разрешения конфликта вручную.

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

2 голосов
/ 21 марта 2011

Я использую TortiseSVN и столкнулся с проблемой, с которой вы столкнулись.

Попытка: удалите каталог и файлы в нем.

Мой путь разрешения (вся эффективная процедура)

  1. Выберите соответствующие файлы.Щелкните правой кнопкой мыши |TortiseSVN |Удалить

    Ответ: Файлы, помеченные для удаления.

  2. Щелкните правой кнопкой мыши каталог, содержащий |TortiseSVN |Фиксация

    Ответ: файлы удалены.

  3. Щелкните правой кнопкой мыши следующий, более высокий каталог из вышеупомянутого каталога, содержащего |SVN Update

    Ответ: Обновление завершено.

  4. Щелкните правой кнопкой мыши каталог, который я хочу удалить |TortiseSVN |Удалить

    Ответ: Каталог, помеченный для удаления.

  5. Щелкните правой кнопкой мыши следующий, более высокий каталог из вышеупомянутого каталога для удаления |SVN Commit

    Ответ: каталог удален

Процесс завершен.

1 голос
/ 08 февраля 2010

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

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

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

1 голос
/ 08 февраля 2010

Похоже, у вас есть Page.asx в вашей рабочей копии, и он больше не существует в хранилище?

возможно, попробуйте удалить его физически с вашего диска или, если это все еще необходимо, просто переместите его в другое место, попробуйте зафиксировать, а затем добавьте его снова?

1 голос
/ 08 февраля 2010

Выполните «Очистку SVN», затем обновите

1 голос
/ 08 февраля 2010

Вы должны обновить свою рабочую копию.

То есть выполните обновление SVN, чтобы получить последнюю версию, и убедитесь, что изменения не конфликтуют.

0 голосов
/ 28 мая 2016

Я попробовал это решение, и оно отлично работает для меня. 1-Экспортируйте рабочую копию в другой каталог Temp. 2-Удалить все файлы в вашем рабочем каталоге 3-Проверить в рабочем каталоге 4-Скопируйте файлы из каталога Temp в рабочий каталог, перезаписав все существующие файлы. 5- совершить

0 голосов
/ 23 апреля 2012

Вы должны просто снять флажки с удаленных или отсутствующих файлов при выполнении svn commit

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