Working with Projects

General usage tips for working with subversion projects.

Checking out a project

cd /path/to/checkout/location
svn checkout http://<your_svn_server>/svn/projectname/trunk <directory>

Check the status of your project

svn status

Status code meanings:

L     abc.c               # svn has a lock in its .svn directory for abc.c
M      bar.c               # the content in bar.c has local modifications
M      baz.c               # baz.c has property but no content modifications
X      3rd_party           # this dir is part of an externals definition
?      foo.o               # svn doesn't manage foo.o
!      some_dir            # svn manages this, but it's either missing or incomplete
~      qux                 # versioned as file/dir/link, but type has changed
I      .screenrc           # svn doesn't manage this, and is configured to ignore it
A  +   moved_dir           # added with history of where it came from
M  +   moved_dir/README    # added with history and has local modifications
D      stuff/fish.c        # this file is scheduled for deletion
A      stuff/loot/bloo.h   # this file is scheduled for addition
C      stuff/loot/lump.c   # this file has conflicts from an update
R      xyz.c               # this file is scheduled for replacement
S      stuff/squawk        # this file or dir has been switched to a branch

Add files or directories to the repo

svn add file_or_directory

Move files or directories in your project

svn move source destination

Ignore a folder in your checked-out copy
Useful for temp files you don't want to commit back to the repo

svn propset svn:ignore '*' ./some_path

Commit your changes back to the repo

svn commit -m "These are the changes I made"

Relocate a project
Changed the location of the svn repository (eg. moved it to a different hostname):

svn switch --relocate old_location new_location

Resync trac with the svn repository
If, for example, you deleted an svn repository and started over but kept the trac project, you'll get an error message from trac "'trac-admin resync' operation is needed". Resync the svn repo with trac:

trac-admin /var/trac/projectname resync

Recent Updates

  • 2 years 3 weeks ago
  • 2 years 3 weeks ago
  • 2 years 3 weeks ago
    php 8.x
  • 2 years 3 weeks ago
    10.6.7
  • 2 years 3 weeks ago
    Drop Centos 5/6 stuff