手册

导出 Subversion 工作副本

有时您可能需要工作树的干净副本,而无需 .svn 目录,例如创建源代码的压缩 tar 包,或导出到 Web 服务器。您可以不必先复制然后再手动删除 .svn 目录,TortoiseSVN 提供了 TortoiseSVN导出... 命令。从 URL 导出和从工作副本导出略有不同。

图 4.68. 从 URL 导出对话框

The Export-from-URL Dialog


如果您在未版本控制的文件夹上执行此命令,TortoiseSVN 将假定所选文件夹是目标,并打开一个对话框供您输入要从中导出的 URL 和版本。此对话框具有仅导出顶层文件夹、忽略外部引用以及覆盖设置了 svn:eol-style 属性的文件的行尾样式的选项。

当然,您也可以直接从仓库导出。使用仓库浏览器导航到仓库中的相关子树,然后使用 上下文菜单导出。您将看到上面描述的 从 URL 导出 对话框。

如果您在工作副本上执行此命令,系统会要求您提供一个位置来保存 干净的 工作副本,其中不包含 .svn 文件夹。默认情况下,仅导出已版本控制的文件,但是您可以使用 同时导出未版本控制的文件 复选框来包含 WC 中存在但仓库中不存在的任何其他未版本控制的文件。如果需要,可以忽略使用 svn:externals 的外部引用。

从工作副本导出的另一种方法是 右键拖拽 工作副本文件夹到另一个位置,然后选择 上下文菜单SVN 导出此处已版本控制的项目上下文菜单SVN 导出此处所有项目上下文菜单SVN 导出此处已更改的项目。第二个选项也包括未版本控制的文件。第三个选项仅导出修改过的项目,但保持文件夹结构。

从工作副本导出时,如果目标文件夹已包含与您要导出的文件夹同名的文件夹,则系统将为您提供覆盖现有内容或创建具有自动生成名称的新文件夹(例如 Target (1))的选项。

导出单个文件

导出对话框不允许导出单个文件,即使 Subversion 可以。

要使用 TortoiseSVN 导出单个文件,您必须使用仓库浏览器(“仓库浏览器” 章节)。只需将要导出的文件从仓库浏览器拖到资源管理器中您想要的位置,或使用仓库浏览器中的上下文菜单导出文件。

导出变更树

如果您想导出项目树结构的副本,但仅包含在特定版本或任意两个版本之间已更改的文件,请使用 “比较文件夹” 章节中描述的版本比较功能。

如果您想导出工作副本树结构,但仅包含本地修改的文件,请参阅上面 SVN 导出此处已更改的项目

从版本控制中移除工作副本

有时您有一个工作副本,您想将其转换回没有 .svn 目录的普通文件夹。您需要做的就是从工作副本根目录中删除 .svn 目录。

或者,您可以将文件夹导出到自身。在 Windows 资源管理器中,将工作副本根文件夹从文件窗格右键拖拽到文件夹窗格中的自身上。TortoiseSVN 检测到此特殊情况,并询问您是否要使工作副本变为未版本控制。如果您回答 ,控制目录将被删除,您将拥有一个普通的、未版本控制的目录树。

TortoiseSVN 主页