svn add
Prev | svn Subcommands | Next

## Name

svn add — Add files, directories, or symbolic links.

## Synopsis

`svn add PATH...`

## Description

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.

## Options

    --auto-props
    --depth ARG
    --force
    --no-auto-props
    --no-ignore
    --parents
    --quiet (-q)
    --targets FILENAME

## Examples

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
    …

Prev | Up | Next
svn—Subversion Command-Line Client | Home | svn blame (praise, annotate, ann)