1

У меня есть рабочие копии одного и того же хранилища на двух разных компьютерах (Mac). Имеется рассматриваемый файл (скажем, SomeFile.m), который показывает значение r703 в обеих рабочих копиях без локальных изменений. svn update SomeFile.m с обеих сторон не производит обновлений - он считает, что он полностью обновлен с хранилищем.

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

Во-первых, как заставить неправильный файл быть заменен тем, что находится в хранилище?

Во-вторых, как этот файл попал в это состояние в первую очередь? Неправильное разрешение конфликтов или что-то в этом роде?

2 ответа2

1

Если одна версия файла является правильной, но вы подозреваете, что версия в хранилище неверна, см. Как я могу принудительно заставить Subversion зафиксировать неизмененный файл?

Если вы хотите принудительно получить файлы из репозитория, см. Раздел «Принудительная команда извлечения svn для перезаписи текущих файлов».

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

0

Я обнаружил, что самый простой способ "вызвать" извлечение / обновление определенного файла - удалить этот файл в рабочей копии - удалить файловую систему, а не svn-delete - и запустить обновление рабочей копии. Файл будет восстановлен с версией из репо.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .