SVN status codes

Running the status command in the command line version of subversion returns a list of files with a one letter code in front of each file name. Here’s a list of those one letter codes and what they mean.
svn status
M src/index.php (etc)

The first six columns in the output are each one character wide, and each column gives you information about different aspects of each working copy item. With –show-updates, add working revision and server out-of-date information.

SVN Status first column: A, D, M, R, C, X, I, ?, !, ~

The first column indicates that an item was added, deleted, or otherwise changed.

‘ ‘
No modifications.
‘A’
Item is scheduled for Addition.
‘D’
Item is scheduled for Deletion.
‘M’
Item has been modified.
‘R’
Item has been replaced in your working copy. This means the file was scheduled for deletion, and then a new file with the same name was scheduled for addition in its place.
‘C’
The contents (as opposed to the properties) of the item conflict with updates received from the repository.
‘X’
Item is related to an externals definition.
‘I’
Item is being ignored (e.g. with the svn:ignore property).
‘?’
Item is not under version control.
‘!’
Item is missing (e.g. you moved or deleted it without using svn). This also indicates that a directory is incomplete (a checkout or update was interrupted).
‘~’
Item is versioned as one kind of object (file, directory, link), but has been replaced by different kind of object.

SVN Status second column: M, C

The second column tells the status of a file’s or directory’s properties.

‘ ‘
No modifications.
‘M’
Properties for this item have been modified.
‘C’
Properties for this item are in conflict with property updates received from the repository.

SVN Status third column: L

The third column is populated only if the working copy directory is locked (an svn cleanup should normally be enough to clear it out)

‘ ‘
Item is not locked.
‘L’
Item is locked.

SVN Status fourth column: +

The fourth column is populated only if the item is scheduled for addition-with-history.

‘ ‘
No history scheduled with commit.
‘+’
History scheduled with commit.

SVN Status fifth column: S

The fifth column is populated only if the item’s working copy is switched relative to its parent

‘ ‘
Item is a child of its parent directory.
‘S’
Item is switched.

SVN Status sixth column: K, O, T, B

The sixth column is populated with lock information.

‘ ‘
When –show-updates is used, the file is not locked. If –show-updates is not used, this merely means that the file is not locked in this working copy.
K
File is locked in this working copy.
O
File is locked either by another user or in another working copy. This only appears when –show-updates is used.
T
File was locked in this working copy, but the lock has been ???stolen???and is invalid. The file is currently locked in the repository. This only appears when –show-updates is used.
B
File was locked in this working copy, but the lock has been ???broken???and is invalid. The file is no longer locked This only appears when –show-updates is used.

SVN Status seventh column: *

The out-of-date information appears in the seventh column (only if you pass the –show-updates switch).

‘ ‘
The item in your working copy is up-to-date.
‘*’
A newer revision of the item exists on the server.

9 comments

  1. Lars

    Hello there, just an FYI. Your heading for the sixth columns says “SVN Status fifth column: K, O, T ,B” instead of “SVN sixth column: K, O, T, B”

  2. randomdrake

    Came across this site when looking for information on the L status code. Great writeup. Just a small correction: it’s svn cleanup not svn clean.

    Cheers!

  3. Pingback: Complete list of SVN status codes « Blog about cooking, technology and something else
  4. chris

    The heading “SVN Status seventh column: K, O, T, B” is still wrong.

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>