我想对一组构建为 zip 文件的文件进行源代码管理,其中包含 XML 文件。
由于目前这些文件按原样签入,因此它们被视为具有所有明显限制的二进制文件
由于这些文件包含 XML 文件,为了避免要求程序员压缩/解压缩,我想自动执行以下操作
对于签到:自动分解文件:
- 这些文件具有唯一的扩展名,因此对于使用该扩展名签入的每个文件
- 将该文件解压缩到内存/临时位置
- 对于这些文件(XML)中的每一个,将它们标准化(用于比较/合并)
- 以预定义的顺序(例如字母顺序)重新排序根的直接子节点
- 有些项目有本地参考ID,排序后按顺序重写ID
- 在 SVN 中创建一个与原始压缩文件同名的文件夹
- 将 zip 中的文件签入该文件夹
对于签出:自动重新打包文件:
- 不太重要 - 可以使用 Maven / Ant 完成
- 检查展开的文件夹(或其任何内容文件)时
- 而不是签出该文件夹/文件:
- 压缩该文件夹中的所有文件
- 并查看压缩文件
对于合并
我假设合并不是 SVN 服务器端,而是客户端的责任,所以有没有一种简单的方法来编写合并插件,(例如对于 Tortoise)
以上任何一种可能吗?如果是这样,那怎么办?有不止一种方法吗?