SVN File Status Flags

More SVN stuff I can never completely remember.  As seen from running svn update, svn switch, or svn merge. “G” always throws me. See $ svn status help for details.

U filename = item (U)pdated to repository version
G filename = item’s local changes mer(G)ed with repository
C filename = item’s local changes (C)onflicted with repository
D filename = item (D)eleted from working copy
A filename = item (A)dded to working copy
~ filename = item (S)ubstitution; for example local file update obstructed by substitution of a symlink with the same name in the repository (I think of this as a sideways/backwards “S”)

Also note that a real “S” flag means that something has gone horribly wrong with a switch and that the operation was not fully completed. Hopefully you’ll never see this.

2 thoughts on “SVN File Status Flags

  1. A funny thing happened on my way from an svn up…

    svn up –force path/file.sql
    E path/file.sql
    Updated to revision 29862.

    This “E” flag doesn’t seem to be documented anywhere! SO.

    The subversion file status “E” flag indicates that an update was done with a ‘forcE’

  2. The E flag is documented in
    $svn help up

    E Existed

    If –force is used, unversioned obstructing paths in the working
    copy do not automatically cause a failure if the update attempts to
    add the same path. If the obstructing path is the same type (file
    or directory) as the corresponding path in the repository it becomes
    versioned but its contents are left ‘as-is’ in the working copy.
    This means that an obstructing directory’s unversioned children may
    also obstruct and become versioned. For files, any content differences
    between the obstruction and the repository are treated like a local
    modification to the working copy. All properties from the repository
    are applied to the obstructing path. Obstructing paths are reported
    in the first column with code ‘E’.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.