如何在TortoiseSVN中将文件(或文件夹)从一个文件夹移动到另一个文件夹?


247

我想将文件或文件夹从同一存储库中的一个位置移动到另一个位置,而不必使用Repo Browser来进行操作,而无需创建两个独立的添加/删除操作。使用Repo Browser可以正常工作,除了您的代码将一直处于中断状态之前,直到您随后检入任何支持的更改为止(例如.csproj文件)。

更新:人们建议从命令行“移动”。有与TortoiseSVN相当的产品吗?

Answers:


448

要使用来移动一个文件或一组文件Tortoise SVN,请右键单击目标文件并将其拖到目标位置,然后释放鼠标右键。弹出菜单将有一个SVN move versioned files here选项。

请注意,目标文件夹必须已经添加到存储库中,SVN move versioned files here才能显示该选项。


32
我需要做同样的事情,并且效果很好。从不知道此选项。太谢谢了!
-DavGarcia

4
谢谢!注意:之后,它在更改日志中显示了一堆DELETED和ADDED文件和目录,但是修订历史记录确实跟随这些文件。:)
铃木Yoh

1
如果我已经移动了文件但svn仍然认为它在另一个目录中,该怎么办?
肖恩·麦克林

4
您还(肯定在v1.7.6中)需要确保您正在移动文件的目录已经添加了subversion
icc97 2012年

传奇般的回答令我高兴!
西里尔·甘登


22

在Windows资源管理器中,使用鼠标右键,单击文件并将其从所需位置拖到所需位置。释放鼠标右键后,您将看到一个上下文菜单,其中包含诸如“在此将SVN移动版本化文件”之类的选项。

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



5

如果要移动文件保持csproj文件为最新,最简单的方法是使用Visual Studio插件(如AnkhSVN)。这将自动提交移动动作(作为带历史记录的删除+添加,因为这是Subversion的工作方式)和.csproj中的更改


4

在命令行中,您可以输入svn mv path1 path2。这将创建一个添加和删除操作,但是据我所知,在Subversion中并没有真正的解决方法。




0

如前所述,您将创建添加和删除命令。您可以在工作副本或存储库URL上使用svn move。如果您使用工作副本,则不会提交更改-您需要提交单独的操作。

如果您通过svn移动URL,则需要提供--message,更改将立即反映在存储库中。



0

您必须使用鼠标右键拖动文件。将文件释放到新目的地后,您将看到以下选项:

SVN将版本化文件移到此处。

只需选择此选项,您就完成了!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.