手册

导出 Subversion 工作副本

有时您可能需要一个干净的工作树副本,不包含 .svn 目录,例如,要创建源代码的压缩 tarball,或导出到 Web 服务器。TortoiseSVN 提供了 TortoiseSVN导出... 命令,而不是手动复制并删除 .svn 目录。从 URL 导出和从工作副本导出处理方式略有不同。

图 4.68. 从 URL 导出对话框

The Export-from-URL Dialog


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

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

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

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

从工作副本导出时,如果目标文件夹中已经存在与您要导出的文件夹同名的文件夹,系统会提示您选择覆盖现有内容,或创建一个带有自动生成名称的新文件夹,例如 Target (1)

导出单个文件

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

要使用 TortoiseSVN 导出单个文件,您需要使用仓库浏览器(名为“仓库浏览器”的部分)。只需将您要从仓库浏览器中导出的文件拖放到资源管理器中的目标位置,或使用仓库浏览器中的上下文菜单导出文件。

导出变更树

如果您想导出项目树结构的副本,但只包含特定修订版中更改的文件,或包含两个修订版之间的更改文件,请使用 名为“比较文件夹”的部分 中描述的比较修订版功能。

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

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

有时您可能有一个工作副本,您希望将其转换回普通文件夹,而无需 .svn 目录。您只需从工作副本根目录中删除 .svn 目录即可。

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

TortoiseSVN 主页