ChatGPT解决这个技术问题 Extra ChatGPT

How do I move a file (or folder) from one folder to another in TortoiseSVN?

I would like to move a file or folder from one place to another within the same repository without having to use Repo Browser to do it, and without creating two independent add/delete operations. Using Repo Browser works fine except that your code will be hanging in a broken state until you get any supporting changes checked in afterwards (like the .csproj file for example).

Update: People have suggested "move" from the command line. Is there a TortoiseSVN equivalent?


J
James Oravec

To move a file or set of files using Tortoise SVN, right-click-and-drag the target files to their destination and release the right mouse button. The popup menu will have a SVN move versioned files here option.

Note that the destination folder must have already been added to the repository for the SVN move versioned files here option to appear.


I needed to do the same and this worked perfectly. Never knew about this option. Big thanks!
Thank you! Note: Afterwards, it shows in the change log a bunch of DELETED and ADDED files and directories, but the revision history does follow the files around. :)
What do I do if I already moved the file but svn still thinks its in another directory?
You also (certainly in v1.7.6) need to make sure that the directory you are moving the files is already added subversion
Legendary answer made my day, ty!
T
Tomasz Nurkiewicz

svn move — Move a file or directory.

http://svnbook.red-bean.com/en/1.0/re18.html


y
yknott

In Windows Explorer, with the right-mouse button, click and drag the file from where it is to where you want it. Upon releasing the right-mouse button, you will see a context menu with options such as "SVN Move versioned file here".

http://tortoisesvn.net/most-forgotten-feature


u
user7070
S
Sander Rijken

If you want to move files around and keep the csproj files up to date, the easiest way is to use a Visual Studio plugin like AnkhSVN. That will automatically commit both the move action (as an delete + add with history, because that's how Subversion works) and a change in the .csproj


C
Clinton Dreisbach

From the command line, you can type svn mv path1 path2. This will create an add and a delete operation, but there's not really a way around that - as far as I know - in Subversion.


s
swmc

Subversion does not yet have a first-class rename operations.

There's a 6-year-old bug on the problem: http://subversion.tigris.org/issues/show_bug.cgi?id=898

It's being considered for 1.6, now that merge tracking (a higher priority) has been added (in 1.5).


W
WhyNotHugo

Use Tortoise's RENAME command, and type in a relative path ("folder/file.ext").


k
kenlukas

You have to drag the file using the right mouse button. The moment you release the file to the new destination you will observe the option:

SVN move versioned files here.

Just select this option and you are done !!


d
dwilkins

As mentioned earlier, you'll create the add and delete commands. You can use svn move on both your working copy or the repository url. If you use your working copy, the changes won't be committed - you'll need to commit in a separate operation.

If you svn move a URL, you'll need to supply a --message, and the changes will be reflected in the repository immediately.


S
Sergey Telshevsky

Use the svn move command to move file/folder.