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 for stable versions of this book.


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


svn move SRC... DST


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

[Tip] 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] 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:


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


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”).



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" \

Committed revision 27.