svn move (mv)

Name

svn move (mv) — Move a file or directory.

Synopsis

svn move SRC... DST

Description

This command moves files or directories in your working copy or in the repository.

Tip

This command is equivalent to an svn copy followed by svn delete.

When moving multiple sources, they will be added as children of DST, which must be a directory.

Note

Subversion does not support moving between working copies and URLs. In addition, you can only move files within a single repository—Subversion does not support cross-repository moving. Subversion supports the following types of moves within a single repository:

WC → WC

Move and schedule a file or directory for addition (with history).

URL → URL

Complete server-side rename.

When moving large trees you should be aware that the URL → URL moves are lighter than WC → WC moves. Moving nodes inside a working copy does more than just change directory listings (it will copy files, manage temporary files, and expand keywords) and may be significantly slower.

Also bear in mind that a WC → WC move in a mixed-revision working copy may yield unexpected results (see the section called “Mixed-revision working copies”).

Examples

Move a file in your working copy:

$ svn move foo.c bar.c
A         bar.c
D         foo.c

Move several files in your working copy into a subdirectory:

$ svn move baz.c bat.c qux.c src
A         src/baz.c
D         baz.c
A         src/bat.c
D         bat.c
A         src/qux.c
D         qux.c

Move a file in the repository (this is an immediate commit, so it requires a commit message):

$ svn move -m "Move a file" http://svn.red-bean.com/repos/foo.c \
                            http://svn.red-bean.com/repos/bar.c

Committed revision 27.