有时您可能需要一个干净的工作树副本,不包含 .svn
目录,例如,要创建源代码的压缩 tarball,或导出到 Web 服务器。TortoiseSVN 提供了 → 命令,而不是手动复制并删除 .svn
目录。从 URL 导出和从工作副本导出处理方式略有不同。
如果您在未版本控制的文件夹上执行此命令,TortoiseSVN 将假定所选文件夹为目标文件夹,并打开一个对话框供您输入要从中导出的 URL 和修订版本。此对话框包含选项,可以仅导出顶层文件夹,省略外部引用,以及覆盖已设置 svn:eol-style
属性的文件的行尾样式。
当然,您也可以直接从存储库导出。使用存储库浏览器导航到存储库中的相关子树,然后使用 从 URL 导出 对话框。
→ 。您将看到上面描述的
如果您在工作副本上执行此命令,系统会要求您指定一个位置来保存不包含 .svn
文件夹的 干净 工作副本。默认情况下,只导出版本控制的文件,但您可以使用 也导出未版本控制的文件 复选框来包含工作副本中存在但存储库中不存在的任何其他未版本控制的文件。如果需要,可以使用 svn:externals
省略外部引用。
从工作副本导出另一种方法是 右键拖动 工作副本文件夹到另一个位置,然后选择 → 或 → 或 → 。第二个选项还包括未版本控制的文件。第三个选项只导出已修改的项目,但保留文件夹结构。
从工作副本导出时,如果目标文件夹中已经存在与您要导出的文件夹同名的文件夹,系统会提示您选择覆盖现有内容,或创建一个带有自动生成名称的新文件夹,例如 Target (1)
。
导出对话框不允许导出单个文件,即使 Subversion 可以。
要使用 TortoiseSVN 导出单个文件,您需要使用仓库浏览器(名为“仓库浏览器”的部分)。只需将您要从仓库浏览器中导出的文件拖放到资源管理器中的目标位置,或使用仓库浏览器中的上下文菜单导出文件。
如果您想导出项目树结构的副本,但只包含特定修订版中更改的文件,或包含两个修订版之间的更改文件,请使用 名为“比较文件夹”的部分 中描述的比较修订版功能。
如果您想导出工作副本树结构,但只包含本地修改的文件,请参考上面 SVN 导出此处更改的项目。