我正在寻找一个"存储库"来存储派生信息(构建工件).我们有一个存储库(目前是Mercurial)来存储我们的源代码.当某些东西被推送到源存储库时,代码会通过一个持续集成服务器,我们会进行增量构建,因此会更改一些dll.这应该添加到一些"存储库",以便每个人都可以使用该版本,而无需再次进行构建.我正在寻找以下功能:
- 应该很容易更新源代码并获取相应的二进制文件(我们可能会为此创建一个脚本)
- 您应该轻松地立即获取所有二进制文件(不仅是在上一次增量构建期间更改的那些二进制文件.
- 未更改的二进制文件只能在存储库中存储一次.
- 更新源代码和二进制文件时,只应传输更改的二进制文件(而不是所有二进制文件).这类似于源代码所发生的情况.
- 更新到某个版本时,只应在本地存储该版本,而不是完整的历史记录.
- 我们应该能够在一段时间后从二进制"存储库"中删除某些版本.但是,如果后续增量构建仍然需要dll,那么这些dll当然不应该从"存储库"中完全删除
什么符合这些要求?