This text is a work in progress—highly subject to change—and may not accurately describe any released version of the Apache™ Subversion® software. Bookmarking or otherwise referring others to this page is probably not such a smart idea. Please visit http://www.svnbook.com/ for stable versions of this book.
svn add — Add files, directories, or symbolic links.
svn add PATH...
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 …