Version Control with Subversion - Locking - Discovering locks
Discovering locks
When a commit fails due to someone else's locks, it's
fairly easy to learn about them. The easiest of
these is
svn status --show-updates
:
$ whoami
sally
$ svn status --show-updates
M 23 bar.c
M O 32 raisin.jpg
* 72 foo.h
Status against revision: 105
In this example, Sally can see not only that her copy of
foo.h is out-of-date, but that one of the
two modified files she plans to commit is locked in the
repository. The O symbol stands for
“Other”, meaning that a lock exists on the file,
and was created by somebody else. If she were to attempt a
commit, the lock on raisin.jpg would
prevent it. Sally is left wondering who made the lock, when,
and why. Once again,
svn info
has the
answers:
$ svn info https://svn.example.com/repos/project/raisin.jpg
Path: raisin.jpg
Name: raisin.jpg
URL: https://svn.example.com/repos/project/raisin.jpg
Repository UUID: edb2f264-5ef2-0310-a47a-87b0ce17a8ec
Revision: 105
Node Kind: file
Last Changed Author: sally
Last Changed Rev: 32
Last Changed Date: 2005-01-25 12:43:04 -0600 (Tue, 25 Jan 2005)
Lock Token: opaquelocktoken:fc2b4dee-98f9-0310-abf3-653ff3226e6b
Lock Owner: harry
Lock Created: 2005-02-16 13:29:18 -0500 (Wed, 16 Feb 2005)
Lock Comment (1 line):
Need to make a quick tweak to this image.
Just as
svn info
can be used to examine
objects in the working copy, it can also be used to examine
objects in the repository. If the main argument to
svn info
is a working copy path, then all
of the working copy's cached information is displayed; any
mention of a lock means that the working copy is holding a
lock token (if a file is locked by another user or in another
working copy,
svn info
on a working copy
path will show no lock information at all). If the main
argument to
svn info
is a URL, then the
information reflects the latest version of an object in the
repository; any mention of a lock describes the current lock
on the object.
So in this particular example, Sally can see that Harry
locked the file on February 16th to “make a quick
tweak”. It being June, she suspects that he probably
forgot all about the lock. She might phone Harry to complain
and ask him to release the lock. If he's unavailable, she
might try to forcibly break the lock herself or ask an
administrator to do so.
[an error occurred while processing this directive]
|