Svn Subversion合并插件/签入后/签出前挂钩
我想对一组构建为zip文件的文件进行源代码管理,其中包含XML文件 由于当前这些文件是按原样检入的,因此它们被视为具有所有明显限制的二进制文件 由于这些文件包含XML文件,为了避免要求程序员压缩/解压,我想自动执行以下操作 对于签入:自动分解文件:Svn Subversion合并插件/签入后/签出前挂钩,svn,configuration-management,svn-hooks,Svn,Configuration Management,Svn Hooks,我想对一组构建为zip文件的文件进行源代码管理,其中包含XML文件 由于当前这些文件是按原样检入的,因此它们被视为具有所有明显限制的二进制文件 由于这些文件包含XML文件,为了避免要求程序员压缩/解压,我想自动执行以下操作 对于签入:自动分解文件: 这些文件具有唯一的扩展名,因此对于每个使用该扩展名签入的文件 将该文件解压缩到内存/临时位置 对于每个文件(XML),将其规范化(用于比较/合并) 按预定义顺序(例如,字母顺序)重新排列根的直接子节点 有些项目具有本地引用ID,请在排序后依次重写
- 这些文件具有唯一的扩展名,因此对于每个使用该扩展名签入的文件
- 将该文件解压缩到内存/临时位置
- 对于每个文件(XML),将其规范化(用于比较/合并)
- 按预定义顺序(例如,字母顺序)重新排列根的直接子节点
- 有些项目具有本地引用ID,请在排序后依次重写ID
- 在SVN中创建一个与原始压缩文件同名的文件夹
- 将zip中的文件签入该文件夹
- 不太重要-可以使用Maven/Ant完成
- 签出分解的文件夹(或其任何内容文件)时
- 不签出该文件夹/文件:
- 压缩该文件夹中的所有文件
- 然后查看压缩文件
上述任何一种可能吗?如果是的话,那怎么办?有不止一种方法吗?与其使签入前/签入后钩子复杂化,不如在创建这些zip文件的应用程序周围编写一个包装器。包装器应解压所有文件并将其放在文件夹中
另一种方式是你所描述的。但复杂的是要有一个触发器来为所有zip文件执行此操作。您可能会在触发器中使用另一个筛选器,以便仅对特定文件夹中的文件执行此操作,并且必须在单独的数据库中维护这些文件夹集。为了避免这些复杂性,在应用程序周围编写一个包装器。压缩存储XML文件的原因是什么?它们是包文件,系统就是这样生成的