Why does `svn update` unlock files and what is status B

313 Views Asked by At

I use the Enterprise Architect which used svn lock to lock model files inside the the subversion repository. For example:

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

I have learned that on svn commit you loose the locks unless you use the --keep-locks option. Ever since Subversion 1.8 I noticed that svn updatenow also unlockes:

>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

Note that that there is nothing after svn status. The lock are gone! But svn update has no --keep-locks and no status 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

Ok, it's German. But you don't need to speak German to see there is no B in that list.

If I now try to relock the I am told the files are already locked:

>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'

Is this a bug or is there a reason for this weird behaviour.

Update:

Thanks to @user655063 I now know that B stands for broken lock. That's leads to the follow on questions: “Why are the locks always broken'.

Not just when locked by Enterprise Architect. If I re-lock the files on the command line the locks will be considered broken and un-locked next svn update as well.

1

There are 1 best solutions below

1
On

According to http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.update.html (svn 1.8) and http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.update.html (svn 1.7), B means "broken lock".

Is it maybe possible that the locks you had on the files were problematic already before you ran "svn update" (a problem that occurs once in a while when using Enterprise Architect with svn)? See also Enterprise Architect and Subversion - The ability to import is currently locked