【发布时间】:2010-09-07 22:43:36
【问题描述】:
我正在对 SourceForge SVN 存储库使用 TortoiseSVN。我想将文件从一个文件夹移动到另一个文件夹,以维护其修订历史。这可能吗?如果是这样,你是怎么做的?
(我目前的策略是将文件复制到新文件夹中并签入,然后从当前文件夹中删除文件。)
【问题讨论】:
标签: svn tortoisesvn
我正在对 SourceForge SVN 存储库使用 TortoiseSVN。我想将文件从一个文件夹移动到另一个文件夹,以维护其修订历史。这可能吗?如果是这样,你是怎么做的?
(我目前的策略是将文件复制到新文件夹中并签入,然后从当前文件夹中删除文件。)
【问题讨论】:
标签: svn tortoisesvn
使用 TortoiseSVN 我只需将文件移动到磁盘上。
当我提交更改时,我选择丢失的文件和新文件,然后从右键菜单中选择“Repair move”:
这意味着我可以让我的 IDE 移动循环文件并使用它的重构工具而不会丢失历史记录。
【讨论】:
像往常一样通过操作系统上下文菜单剪切文件,然后不要进行常规粘贴,而是右键单击以显示上下文菜单,然后选择TortoiseSVN -> Paste(确保从根目录提交以将新旧文件都包含在提交)。
【讨论】:
查看 TortoiseSVN 帮助的 5.14.2. Moving files and folders 部分(或查看帮助索引中的“移动”)。你通过右拖来移动。它还提到您需要从父文件夹提交以使其成为“一个”修订版。这适用于在工作副本中进行更改。
(请注意,下图中的 SVN 项目仅在目标文件夹已添加到存储库时才会显示。)
您也可以通过回购浏览器进行移动(5.23. The Repository Browser 部分 的帮助)。
【讨论】:
对于 TortoiseSVN 客户端:
现在你已经完成了。
【讨论】:
如果您通过存储库浏览器移动文件夹,则右键单击时没有移动选项;唯一的方法是拖放。
【讨论】:
在 TortoiseSVN 中右键单击某处并转到 TortoiseSVN > Repo Browser 打开存储库。
您所要做的就是将文件从一个文件夹拖放到您想要的位置。它会要求您添加提交消息,并将其默认为“远程移动文件/文件夹”
【讨论】:
由于您使用的是 Tortoise,您可能需要查看 LosTechies 上的此链接。它应该几乎正是您正在寻找的。
【讨论】:
使用 TortoiseSVN 我只需右键单击并将文件夹从一个位置拖到另一个位置。当您释放右键单击时,您将可以选择“SVN 移动版本文件”。但是,我相信 SVN 并没有在那里做任何“花哨”的事情,只是简单地删除了先前位置的文件并将其添加到新位置。
【讨论】:
也可以被tortoise称为“重命名”,但svn move,是准系统svn客户端中的命令。
【讨论】:
如果我没记错的话,从 1.5 版开始,SVN 可以跟踪移动的文件\文件夹。在 TortoiseSVN 中使用可以通过拖放移动文件。
【讨论】:
我认为在 tortoisesvn 的 svn 浏览器中,您可以将其从一个地方拖到另一个地方。
【讨论】:
Subversion 原生支持移动文件。
svn move SOURCE DESTINATION
有关详细信息,请参阅在线帮助 (svn help move)。
【讨论】:
svn move <current path/filename> <destination path/filename>