This documentation was written to describe the 1.7.x series of Apache™ Subversion®. If you are running a different version of Subversion, you are strongly encouraged to visit http://www.svnbook.com/ and instead consult the version of this documentation appropriate for your version of Subversion.
svn add — Add files, directories, or symbolic links.
Schedule files, directories, or symbolic links in your working copy for addition to the repository. They will be uploaded and added to the repository on your next commit. If you add something and change your mind before committing, you can unschedule the addition using svn revert.
To add a file to your working copy:
$ svn add foo.c A foo.c
When adding a directory, the default behavior of svn add is to recurse:
$ svn add testdir A testdir A testdir/a A testdir/b A testdir/c A testdir/d
You can add a directory without adding its contents:
$ svn add --depth=empty otherdir A otherdir
Attempts to schedule the addition of an item which is
already versioned will fail by default. This behavior
foils the most common scenario under which users attempt
this: when trying to get to Subversion to recursively
examine a versioned directory and add any unversioned
items inside of it. To override the default behavior and
force Subversion to recurse into already-versioned
directories, pass the --force
option:
$ svn add versioned-dir svn: warning: W150002: '/home/cmpilato/projects/subversion/site' is already un\ der version control $ svn add versioned-dir --force A versioned-dir/foo.c A versioned-dir/somedir/bar.c A (bin) versioned-dir/otherdir/docs/baz.doc …