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.


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.


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.