为什么`svn update`解锁文件,什么是状态B.

时间:2014-04-22 06:12:54

标签: svn enterprise-architect svn-update svn-lock

我使用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 update现在解锁了:

>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之后也会被锁定。

1 个答案:

答案 0 :(得分: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 update" (使用带有svn的Enterprise Architect时偶尔会出现的问题)?另请参阅Enterprise Architect and Subversion - The ability to import is currently locked