224

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

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

4

13 回答 13

316

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

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

乌龟移动菜单

您也可以通过 Repo Browser 进行移动(第5.23 节。 帮助的 Repository Browser)。

于 2008-09-05T15:51:29.797 回答
97

Subversion 原生支持移动文件。

svn move SOURCE DESTINATION

有关详细信息,请参阅联机帮助 (svn help move)。

于 2008-09-05T15:46:55.907 回答
82

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

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

在此处输入图像描述

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

于 2008-09-05T16:01:23.187 回答
37

在 TortoiseSVN 中右键单击某处并转到 TortoiseSVN > Repo Browser 打开存储库。

然后,您所要做的就是将文件从一个文件夹拖放到您想要的位置。它会要求您添加提交消息,并将其默认为“远程移动文件/文件夹”

于 2008-09-05T15:51:47.110 回答
22

使用 TortoiseSVN 我只需右键单击并将文件夹从一个位置拖到另一个位置。当您释放右键单击时,您将可以选择“SVN 移动版本文件”。但是,我相信 SVN 并没有在那里做任何“花哨”的事情,而只是删除了先前位置的文件并将其添加到新位置。

于 2008-09-05T15:49:42.640 回答
19

对于 TortoiseSVN 客户端:

  1. 选择要移动的文件,
  2. 右键单击并将文件拖到您希望将它们移动到的文件夹中,
  3. 释放文件夹上的拖放后,将弹出一个窗口。单击“SVN 将版本化项目移至此处”
  4. 单击上面的内容后,将出现提交窗口消息框。输入消息并提交。

现在你完成了。

于 2010-09-28T08:50:37.803 回答
8

像往常一样通过操作系统上下文菜单剪切文件,然后不要进行常规粘贴,而是右键单击以显示上下文菜单,然后选择TortoiseSVN -> Paste(确保从根目录提交以在提交中包含旧文件和新文件)。

于 2014-09-04T08:07:03.463 回答
4

我认为在 tortoisesvn 的 svn 浏览器中,您可以将其从一个地方拖到另一个地方。

于 2008-09-05T15:47:15.873 回答
2

由于您使用的是 Tortoise,您可能需要查看 LosTechies 上的此链接。它应该几乎正是您正在寻找的。

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

于 2008-09-05T15:50:10.923 回答
1

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

于 2008-09-05T15:48:13.267 回答
1

也可能被乌龟称为“重命名”,但 svn move 是准系统 svn 客户端中的命令。

于 2008-09-05T15:48:20.847 回答
1

使用 TortoiseSVN 传输文件:

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

SVN 选项

第2步: 单击上面的提交文件后,如下所述

SVN 提交

于 2019-06-13T11:23:10.050 回答
0

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

于 2012-07-12T14:54:43.370 回答