SVN只导出标签中已更改的文件

6 svn

有谁知道如何使用svn从两个标签中仅导出更改的文件?

让我们说我有标签1.0,然后修复后备箱中的错误.接下来我准备好发布一个新的补丁,所以我将其标记为1.1.现在我想在标签1.0和1.1之间导出已更改的文件.这可能吗?

Ste*_*fan 12

svn diff --summarize url/to/tag1.0 url/to/tag1.1

将为您提供在这两个标签之间更改的文件列表.您应该能够在脚本中解析该列表,并使用其中任何一个单独导出每个文件

svn export url/to/file filepath

要么

svn cat url/to/file>文件

如果你正在使用TortoiseSVN:

  • 打开存储库浏览器,浏览到tag1.0,右键单击,选择"mark for comparison"
  • 浏览到tag1.1,右键单击,选择"比较网址"
  • 在文件差异对话框中,选择标记之间更改的所有文件/文件夹(Ctrl + A)
  • 右键单击,选择"导出到..."


And*_*ell 9

这是对TortoiseSVN的解决方案:

  • 打开repo浏览器.
  • 右键单击tag1并选择"Mark for comparison"
  • 右键单击tag2并选择"比较URL"
  • 在文件列表中选择全部(Ctrl + A)
  • 右键单击并"将选择导出到..."
  • 输入目标目录,然后按OK

最终导出的是您需要在现有导出的顶部写入的所有文件,以便更新它(不会混淆应用差异).例如,用于通过FTP更新网站很有用.

唯一需要注意的是,它显然不会处理已删除的文件.虽然它至少会告诉你需要手动删除哪些文件.


小智 6

  1. 使用TortoiseSVN,右键单击您的工作文件夹,然后从TortoiseSVN菜单中选择"显示日志".

  2. 单击上次发布的修订(本示例中为#85)

  3. Ctrl +单击HEAD修订版(或您要发布的任何修订版,即#178),以便突出显示旧修订版和新修订版.

  4. 右键单击任一突出显示的修订版本,然后选择"比较修订版本".这将打开一个列出所有新/修改文件的对话窗口.

  5. 从此列表中选择所有文件(Ctrl + a),然后右键单击突出显示的文件并选择"将选择导出到..."

资料来源:http: //www.verysimple.com/blog/2007/09/06/using-tortoisesvn-to-export-only-newmodified-files/


小智 1

svn diff 可以创建代表标签之间变化的差异。您可以使用补丁实用程序应用该差异。

http://svnbook.red-bean.com/en/1.0/re09.html