2011-10-11 2 views
25

Я только что получил код статуса E SVN. Что это значит? The update documentation говорит, что это означает «Existed», но не дает больше деталей.Что означает код состояния E в SVN?

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

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

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

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

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 

ответ

20

„препятствование пути“относится к существующим неверсированным файла или папку на пути где команда обновления должна копируйте версионируются файл или папку.

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

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

Ref: svn help update

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

+0

Кроме того, статус E будет отображаться во время обновления _file external_. В этом случае статус E является стандартным поведением, не требуется флаг '--force'. –

5

E = существовал файл перед обновлением.

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

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

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

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