自日期或修订版以来SVN导出文件已更改(Windows svn.exe)

时间:2012-05-31 11:25:13

标签: windows svn

我有一个sql脚本库,其中一些针对每个月发行版进行了更改(每个月更改不同的脚本)。

我正在尝试自动编译部署包,并希望能够导出自上次发布以来已更改的所有脚本,这些脚本具有已知日期和已知修订版本。

SVN分支是每个版本,SVN标记是每个版本。

我已经用Google搜索并知道svn diff --summarize -r {2012-05-01} svn://server/path/to/ > files.txt为我提供了所有更改的列表,但我如何使用该列表仅使用Windows CMD导出这些文件 - 我找到的所有示例都是针对Linux并使用的Linux命令。

在SVN中还有其他直接的方式吗? (使用SVN导出?)

1 个答案:

答案 0 :(得分:1)

  1. 使用修订号作为起始修订,而不是日期:它更具防弹性
  2. 使用修订范围,即使最终版本是HEAD:它更具防弹性

    • 即使在Windows上也可以使用Bash,并使用Bash-scripts
    • 您可以安装Ruby并使用Ruby脚本(或编译Ruby to exe)
  3. 最后

    • 您可以手动安装TortoiseSVN并在GUI中准备树

    • 编写差异输出的解析器(PoserShell会这样做)

    >svn diff --summarize -r 26:34 http://mayorat.ursinecorner.ru:8088/svn/Hello/trunk/

    A http://mayorat.ursinecorner.ru:8088/svn/Hello/trunk/Dr%C3%A6p%C3%A6r.ma%C3%BEar.sv%C3%A6nskan.man.eller.smalensk%C3%A6n.txt

    M http://mayorat.ursinecorner.ru:8088/svn/Hello/trunk/Hello.en.txt

    M http://mayorat.ursinecorner.ru:8088/svn/Hello/trunk/Hello.fr.txt

    M http://mayorat.ursinecorner.ru:8088/svn/Hello/trunk/Hello.de.txt

    M http://mayorat.ursinecorner.ru:8088/svn/Hello/trunk

    (复制所有文件,其中A | M在行的第一个字符中,或者预先grep所有字符串,在我的示例中,在路径库/过滤器最后一个字符串后面有尾部斜杠/)