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

It often happens that you already have the files you need in another project in your repository, and you simply want to copy them across. You could simply copy the files and add them, but that would not give you any history. And if you subsequently fix a bug in the original files, you can only merge the fix automatically if the new copy is related to the original in Subversion.

在工作副本中复制文件和目录的最简单的方法是使用右拖菜单。当你从一个工作副本<action>右拖</action>文件或目录到另一个工作副本,甚至是在同一个目录中,当你释放鼠标时,就会出现一个上下文菜单。<placeholder-1/> 现在你可以复制受版本控制的内容到新位置,可能同时有改名操作。

你也可以使用熟悉的剪切-粘贴方式在一个工作副本中或两个工作副本之间复制或移动版本控制的文件。使用标准的 Windows 复制剪切来复制或移动版本控制的条目到剪贴板中。如果剪贴板中包含这样的版本控制的条目,就可以使用 TortoiseSVN粘贴(注意: 不是标准的 Windows 粘贴)来复制或移动这些条目到工作副本中的新位置。

你可以使用TortoiseSVN分支/标记将工作副本中的文件和文件夹复制到版本库中的另一个位置。参看 “创建一个分支或标记”一节 获得更多信息。

你可以直接在日志对话框中定位一个文件或文件夹的旧版本并使用右键菜单从版本创建分支/标记将其复制到版本库中的新位置。参看 “获得更多信息”一节 获得更多信息。

你也可以使用版本库浏览器定位内容,并从版本库直接复制到你的工作副本中,或复制到版本库中的另一个位置。参看 “版本库浏览器”一节 获得更多信息。

不能在版本库之间复制

虽然可以在同一个版本库中复制或移动文件和文件夹,你却不能使用 TortoiseSVN 从一个版本库中复制或移动到另一个版本库并保留完整的历史。即使版本库在同一个服务器上也不可以。你能做的就是复制它当前的状态并以新内容的形式添加到第二个版本库中。

如果你不能确定位于同一个服务器上的两个 URL 指向相同的还是不同的版本库,使用版本库浏览器打开其中一个URL,并且找到版本库的根。如果你能在这一个版本库浏览器中看到那两个地址,那么它们就在同一个版本库中。