4

我有一个 sql 脚本存储库,其中一些会随着我们每个月的发布而改变(每个月都会改变不同的脚本)。

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

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

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

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

4

1 回答 1

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

    • 您甚至可以在 Windows 上使用 Bash,并使用 Bash 脚本
    • 您可以安装 Ruby 并使用 Ruby 脚本(或将 Ruby 编译为 exe)

最后

  • 您可以手动安装 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 所有字符串,在我的示例中路径基/过滤最后一个字符串之后有斜杠/)

于 2012-12-25T03:42:58.973 回答