我使用TortoiseSVN对抗SourceForge SVN存储库。我想将一个文件从一个文件夹移动到另一个文件夹,以维护其修订历史记录。这可能吗?如果有,你是怎么做的?

(我目前的策略是将文件复制到新文件夹中,然后签入,然后从当前文件夹中删除该文件。)


Subversion具有移动文件的本机支持。

svn move SOURCE DESTINATION

更多信息请参见联机帮助(svn help move)。


我认为在tortoisesvn的SVN浏览器中,你可以将它从一个地方拖到另一个地方。


如果我没有错的话,从1.5版开始,SVN可以跟踪移动的文件和文件夹。在TortoiseSVN使用可以移动文件通过拖放。


也可以被称为,“rename”由乌龟,但svn移动,是在barebones svn客户端命令。


使用TortoiseSVN,我只是右键单击并将文件夹从一个位置拖到另一个位置。当你释放右键时,你会看到“SVN移动版本文件”选项。但是,我相信SVN在这里并没有做任何“花哨”的事情,只是简单地删除前一个位置中的文件并将其添加到新位置。


因为你正在使用Tortoise,你可能想看看LosTechies上的这个链接。这几乎就是你要找的东西。

http://www.lostechies.com/blogs/joshua_lockwood/archive/2007/09/12/subversion-tip-of-the-day-moving-files.aspx


请参阅第5.14.2节。移动TortoiseSVN帮助中的文件和文件夹(或在帮助的索引中查看“移动”)。你可以通过右拖来移动。它还提到您需要从父文件夹提交以使其成为“一个”修订。这适用于在工作副本中进行更改。

(请注意,只有当目标文件夹已经添加到存储库中时,下图中的SVN项才会显示。)

你也可以通过Repo Browser(第5.23节)进行移动。存储库浏览器 的帮助)。


在TortoiseSVN右键单击某个地方,然后进入TortoiseSVN > Repo Browser,打开存储库。

然后你所要做的就是将文件从一个文件夹拖放到你想要的地方。它会要求你添加一个提交消息默认是"远程移动文件/文件夹"


使用TortoiseSVN,我只是将文件移动到磁盘上。

当我提交我的更改时,我选择了丢失的文件和新的文件,并从右键菜单中选择“修复移动”:

这意味着我可以让我的IDE移动文件并使用它重构工具而不会丢失历史记录。


对于TortoiseSVN客户端:

选择您希望移动的文件, 右键单击并拖动文件到您希望移动到的文件夹, 释放文件夹上的拖放操作后,将弹出一个窗口。点击“SVN移动版本项目到这里”, 单击上面的按钮后,将出现提交窗口消息框。输入消息并提交。

现在你完成了。


如果你通过存储库浏览器移动文件夹,那么右键单击没有移动选项;唯一的方法就是拖放。


通过操作系统上下文菜单像你通常做的那样剪切文件,然后不是做常规的粘贴,右键单击上下文菜单,然后选择TortoiseSVN ->粘贴(确保你从根目录提交,包括旧文件和新文件)。


使用TortoiseSVN传输文件:

步骤:1 请选择要移动的文件, 右键单击并拖动文件到您要移动到的文件夹, 按照下面的指示将弹出一个窗口

步骤2: 点击上面的按钮后,提交如下所示的文件