手册

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

通常情况下,您需要的文件可能已经存在于版本库中的另一个项目中,您只需将它们复制过来。您可以直接复制文件并添加它们,但这不会保留任何历史记录。如果您随后修复了原始文件中的错误,只有当新的副本与 Subversion 中的原始副本相关联时,您才能自动合并修复。

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

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

Right drag menu for a directory under version control


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

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

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

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

您也可以使用仓库浏览器来查找您想要的内容,并将它直接从仓库复制到您的工作副本中,或者在仓库内的两个位置之间复制。请参考名为“仓库浏览器”的部分以了解更多信息。

无法在仓库之间复制

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

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

TortoiseSVN 主页