Почему `svn update` разблокирует файлы и что такое статус B

Я использую Enterprise Architect, который использовал svn lock для блокировки файлов модели внутри репозитория subversion. Например:

>svn status
     K  Documents\UML\eaB\B2ACB6CFF398.xml
     K  Documents\UML\eaB\BE1936A1AE75.xml
     K  Documents\UML\eaC\C3B74A5737E1.xml

Я узнал, что на svn commit вы теряете блокировки, если не используете опцию --keep-locks. Начиная с Subversion 1.8 я заметил, что svn updatenow также открывает:

>svn update
Aktualisiere ».«:
 UB  Documents\UML\eaB\BE1936A1AE75.xml
 UB  Documents\UML\eaB\B2ACB6CFF398.xml
 UB  Documents\UML\eaC\C3B74A5737E1.xml
Hole externen Verweis nach »Homeserver\Library\src\test\resources\config-current«:
Externer Verweis aktualisiert zu Revision 22020.

Revision 22020.

>svn status

Обратите внимание, что после svn status ничего нет. Замок пропал! Но у svn update нет --keep-locks и нет статуса B:

>svn help update
update (up): Aktualisiert die Arbeitskopie mit Änderungen aus dem Projektarchiv.
Aufruf: update [PFAD...]

…

    A  Added    - Hinzugefügt
    D  Deleted  - Gelöscht
    U  Updated  - Aktualisiert
    C  Conflict - Konflikt
    G  Merged   - Zusammengeführt
    E  Existed  - Existierend
    R  Replaced  - Ersetzt

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

Если я сейчас попытаюсь повторно заблокировать, мне сообщат, что файлы уже заблокированы:

>svn lock  Documents\UML\eaB\BE1936A1AE75.xml Documents\UML\eaB\B2ACB6CFF398.xml Documents\UML\eaC\C3B74A5737E1.xml
svn: Warnung: W160035: Path '/AndroidApp/trunk/Documents/UML/eaB/BE1936A1AE75.xml' is already locked by user 'martin.krischik' in filesystem '/srv/svn/…/db'
svn: Warnung: W160035: Path '/AndroidApp/trunk/Documents/UML/eaC/C3B74A5737E1.xml' is already locked by user 'martin.krischik' in filesystem '/srv/svn/…/db'
svn: Warnung: W160035: Path '/AndroidApp/trunk/Documents/UML/eaB/B2ACB6CFF398.xml' is already locked by user 'martin.krischik' in filesystem '/srv/svn/…/db'

Это ошибка или есть причина такого странного поведения?

Обновлять:

Благодаря пользователю @user655063 теперь я знаю, что B означает сломанный замок. Это приводит к следующим вопросам: «Почему замки всегда ломаются».

Не только при блокировке Enterprise Architect. Если я повторно заблокирую файлы в командной строке, блокировки будут считаться сломанными и разблокированными в следующем svn update.


person Martin    schedule 22.04.2014    source источник


Ответы (1)


Согласно http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.update.html (svn 1.8) и http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.update.html ( svn 1.7), B означает "сломанный замок".

Возможно ли, что блокировки, которые у вас были на файлах, были проблематичными еще до того, как вы запустили «обновление svn» (проблема, которая время от времени возникает при использовании Enterprise Architect с svn)? См. также Enterprise Architect и Subversion — The возможность импорта в настоящее время заблокирована

person user655063    schedule 22.04.2014
comment
Спасибо. Теперь я знаю, что означает буква «В». Но на один вопрос отвечает другой, возникает другой: Почему сломался замок? - person Martin; 23.04.2014