Что означает код статуса E в SVN? - PullRequest
25 голосов
/ 11 октября 2011

Я только что получил код статуса E SVN в первый раз.Что это значит? Документация update говорит о том, что она означает "существовал", но не дает более подробной информации, чем эта.

С другой стороны, что такое "препятствующий путь"?В длинном справочном файле говорится, что «в первом столбце сообщается о препятствующих путях с кодом« E »».

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

Затем я добавил его в систему управления версиями, но это дало егостатус «версионный файл, который необходимо добавить в удаленный репозиторий», а не статус «нет локальных изменений».

Используя Subclipse, я выбрал Заменить на > Последний изРепозиторий в родительской папке, и это произошло:

revert -N C:/foo/Bar.java
    Reverted C:/foo/Bar.java
update C:/foo/Bar.java -r HEAD --force
    E   C:/foo/Bar.java
    Updated to revision 396.
    ===== File Statistics: =====
    Existing: 1

Ответы [ 2 ]

20 голосов
/ 11 октября 2011

«Запрещающий путь» относится к существующему неверсированному файлу или папке по пути, по которому команде обновления необходимо скопировать версионный файл или папку.

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

Загадочная вещь в этой ситуации состоит в том, как он в итоге подумал, что файл не вернул сразу после успешного возврата.

Ссылка: svn help update

Если препятствующий путь того же типа (файл или каталог), что и соответствующий путь в хранилище, он становится версионным, но его содержимое остается «как есть»'в рабочей копии.

5 голосов
/ 11 октября 2011

E = Файл существовал до обновления.

http://plind.dk/2009/06/26/svn-status-cheatsheet/

«Неверсионные препятствующие пути в работе» копирование не вызывает автоматически сбой, если обновление пытается добавить тот же путь. Если препятствующий путь того же типа (файл или каталог) в качестве соответствующего пути в хранилище становится версированный, но его содержимое остается «как есть» в рабочей копии. Это означает, что неверсированные дочерние объекты каталога могут также препятствуйте и становитесь версионными. Для файлов любые различия в содержании между обструкцией и хранилищем обрабатываются как местный внесение изменений в рабочую копию. Все свойства из хранилища применяются к препятствующему пути. Сообщается о препятствиях в первом столбце с кодом «E».

Используйте параметр --set-глубина, чтобы установить новую глубину рабочей копии на цели этой операции. "

...