2014-09-24 1 views
-1

У меня есть репозиторий на Github, и я использую svn (1.8.5) для связи с ним. (Я не уверен, что это важно, но это может быть.)Не удается восстановить файл, восстановленный с помощью svn up -rNNN

Существует файл, скажем, a.php, который в настоящее время (например, в редакции 1200) не в хранилище, но который имел обыкновение быть там (т.е. он был удален в редакции, скажем, 900).

Так что я хотел посмотреть файл и сказал, что svn up a.php -r899, и я получил файл. Затем мне нужно было восстановить нормальный багажник, поэтому я попробовал svn up, svn up a.php и svn up a.php -r1200, но никто из них не работал. Поэтому у меня все еще есть файл в локальной копии, и он не отображается в svn status, как если бы он был в репозитории, но, по-видимому, это не так, поскольку если я попытаюсь изменить (включая удаление) и зафиксировать его, я получаю ошибка:

svn: E175002: PUT request on '<here was the path>' failed: 500 Internal Server Error

Любые идеи?

Обновление. Проблема может быть воспроизведен следующим образом:

svn co https://github.com/OpenCorpora/opencorpora/trunk 
cd trunk/ajax 
svn up dict_reload.php -r1501 
+0

ли вы пытаетесь удалить файл и просто сделать Svn вверх? Вместо фиксации? Что дает вам svn stat? – Kjartan

+0

Я сделал, он восстанавливается. svn stat ничего не дает. –

+0

1. У вас ** есть ** dict_reload.php в HEAD (2061) 2. Вы выбрали The Bad Way (tm) для проверки старого содержимого репо: 'svn cat URL/FILE @ PEG-REV> file' делает трюк лучше. SVN от GitHub не является чистым прецедентом - это Git repo за сценой. –

ответ

0

Так что я нашел неочевидный способ преодолеть эту проблему. Предположим, что версия, в которой был удален файл, равна 1502.

rm a.php 
svn up a.php -r1500 
svn up a.php -r1502 

Таким образом, он удаляется.

1

Это действительно эффект GitHub. Для чистого SVN (рекомендуемый способ) я получил на местном тест-случае в таком хранилище

>svn log -q -v 
------------------------------------------------------------------------ 
r6 | Badger | 2014-09-26 03:36:26 +0600 (Пт, 26 сен 2014) 
Changed paths: 
    M /trunk/b.txt 
------------------------------------------------------------------------ 
r5 | Badger | 2014-09-26 03:35:56 +0600 (Пт, 26 сен 2014) 
Changed paths: 
    M /trunk/a.txt 
------------------------------------------------------------------------ 
r4 | Badger | 2014-09-26 03:35:29 +0600 (Пт, 26 сен 2014) 
Changed paths: 
    D /trunk/c.txt 
------------------------------------------------------------------------ 
r3 | Badger | 2014-09-26 03:34:39 +0600 (Пт, 26 сен 2014) 
Changed paths: 
    M /trunk/a.txt 
    M /trunk/b.txt 
    M /trunk/c.txt 
------------------------------------------------------------------------ 
r2 | Badger | 2014-09-26 03:33:40 +0600 (Пт, 26 сен 2014) 
Changed paths: 
    A /trunk/a.txt 
    A /trunk/b.txt 
    A /trunk/c.txt 
------------------------------------------------------------------------ 
r1 | Badger | 2014-09-26 03:31:52 +0600 (Пт, 26 сен 2014) 
Changed paths: 
    A /branches 
    A /tags 
    A /trunk 
------------------------------------------------------------------------ 

(c.txt удален в r4, с туалетом в голове, я хочу/по дороге/увидеть r3) после ожидаемые результаты

>svn up c.txt -r 3 
Updating 'c.txt': 
A c.txt 
Updated to revision 3. 

>svn up 
Updating '.': 
D c.txt 
Updated to revision 6. 
+0

Да, это хороший момент. Я подозревал что-то вроде этого. –

Смежные вопросы