手册

复制/移动/重命名文件和文件夹

通常情况下,您可能在仓库的另一个项目中已经拥有所需的文件,而您只是想将它们复制过来。您可以简单地复制文件并添加它们,但这不会给您任何历史记录。而且,如果您随后修复了原始文件中的错误,只有当新副本在 Subversion 中与原始文件相关联时,您才能自动合并该修复。

从工作副本中复制文件和文件夹最简单的方法是使用右键拖动菜单。当您从一个工作副本右键拖动文件或文件夹到另一个工作副本,甚至在同一文件夹内拖动时,释放鼠标时会出现一个上下文菜单。

图 4.32. 版本控制目录的右键拖动菜单

Right drag menu for a directory under version control


现在您可以将现有的版本控制内容复制到新位置,并可能同时重命名它。

您还可以使用熟悉的剪切和粘贴方法,在工作副本内或两个工作副本之间复制或移动版本控制的文件。使用标准的 Windows 复制剪切将一个或多个版本控制的项目复制到剪贴板。如果剪贴板包含此类版本控制的项目,您可以随后使用 TortoiseSVN粘贴(注意:不是标准的 Windows 粘贴)将这些项目复制或移动到新的工作副本位置。

您可以使用 TortoiseSVN分支/标记 将文件和文件夹从您的工作副本复制到仓库中的另一个位置。请参阅名为“创建分支或标记”的章节以了解更多信息。

您可以在日志对话框中找到旧版本的文件或文件夹,并使用 上下文菜单从修订版本创建分支/标记 直接从日志对话框将其复制到仓库中的新位置。请参阅名为“获取更多信息”的章节以了解更多信息。

您还可以使用仓库浏览器来查找所需的内容,并直接从仓库将其复制到您的工作副本中,或在仓库内的两个位置之间复制。请参阅名为“仓库浏览器”的章节以了解更多信息。

无法在仓库之间复制

虽然您可以在一个仓库内部复制或移动文件和文件夹,但是您无法使用 TortoiseSVN 从一个仓库复制或移动到另一个仓库,同时保留历史记录。即使仓库位于同一服务器上也不行。您所能做的只是复制其当前状态的内容,并将其作为新内容添加到第二个仓库。

如果您不确定同一服务器上的两个 URL 是指向相同还是不同的仓库,请使用仓库浏览器打开一个 URL,并找出仓库根目录在哪里。如果您可以在一个仓库浏览器窗口中看到这两个位置,那么它们就在同一个仓库中。

TortoiseSVN 首页