svn update не заменяет удаленные --- но не проверенные --- файлы - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть каталог с управлением версиями, в котором все подкаталоги из многих - непонятно как - удалены, и svn status помечает их как «D». Я проверил svn ls -R <URL>, что они есть в репо. Я хочу получить эти файлы в моей местной рабочей области. svn up говорит мне, что мой локальный каталог только с двумя подкаталогами обновлен. Я попытался svn revert выбросить все возможные локальные изменения, а также попытался обновить до последней использованной версии с svn -r<number>, но ничего не изменилось. У меня должны быть и другие файлы и подкаталоги, но я понятия не имею, как их получить. Я использую svn, version 1.9.5 (r1770682) из linux командной строки. Как отладка, в чем проблема, и как я могу принудительно установить версию репо этой директории в мою локальную копию?

1 Ответ

2 голосов
/ 05 февраля 2020

svn up будет восстанавливать только файлы / каталоги, помеченные svn status с !. Это файлы, которые просто отсутствуют.

svn status сообщает D о файлах, помеченных для удаления (svn delete). svn delete удаляет файл с диска и, если вы его зафиксируете (что возможно, даже если файл отсутствует), они будут удалены из версии HEAD сервера.

Для восстановления файлов, помеченных как D, вы правы, что svn revert является решением. Используйте svn revert -R . для рекурсивного возврата всех локальных изменений в текущем каталоге и ниже.

Либо используйте svn revert path/to/missing/file для каждого отсутствующего файла. Это может быть записано в linux с помощью:

svn revert $(svn status | sed -ne 's/^D//p')
...