SVN не обновляется, не возвращается, но файл находится на сервере - PullRequest
3 голосов
/ 19 января 2012

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

svn commit file.swf -m "message"

Я получаю сообщение об ошибке, что существует конфликт, и мне нужно сначала обновить

2) svn update . --force

Ничего.

3) svn revert .

Файл восстановлен, теперь я вижу файл с сервера.

4) Я копирую новый файл поверх старого и пытаюсь зафиксировать. Я понимаю, что все еще есть конфликт.

5) Я пытаюсь сначала удалить его из репозитория, а затем добавить его и зафиксировать снова

svn del file.swf --force
D   file.swf

svn commit . -m "message"
--no response

svn add file.swf
A   file.swf

svn commit file.swf -m "message"

Я получаю сообщение об ошибке, что зафиксированный файл находится на сервере. Какие?? Да, я проверяю онлайн-репо, и файл все еще там.

6) Хорошо, теперь я пытаюсь вернуть его обратно.

svn revert . 

нада

svn update . --force

нада

Теперь я действительно запутался и застрял. Ни я не могу удалить файл из репозитория, ни вернуть его с сервера, ни зафиксировать новый файл. Как выйти из этого беспорядка?


Еще несколько вопросов, если вам интересно, но самое главное - решить их и приступить к работе.

Почему на # 4 файл все еще не был зафиксирован, хотя я обновлял его раньше? Почему в # 5 я не смог зафиксировать удаление должным образом? Почему в # 6, если файл отсутствует локально, я все еще не могу восстановить или обновить его с сервера, если он там есть?

И самое главное, как заменить файл на сервере более новым двоичным файлом? Был ли маршрут, который я выбрал, совершенно неверный?

Ответы [ 2 ]

5 голосов
/ 19 января 2012

Я отвечу на свой вопрос вместо того, чтобы убрать его, может быть, это кому-нибудь поможет.

Хитрость для выхода из путаницы заключалась в том, чтобы выйти из папки с двоичным файлом, удалить всю папку с диска, обновить ее из svn и полностью ее восстановить. Затем скопируйте новый двоичный файл поверх старого и выполните обычный коммит.

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

0 голосов
/ 10 июня 2012

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

Другие, возможно, пожелаютпопробуй это перед тем как стать ядерным - но без гарантий: -)

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