我知道,在Maven的时候,不建议在VCS中存储库,但有时它是有意义的.
我的问题是如何最好地存储它们 - 压缩或未压缩?未压缩它们更大,但如果它们被更新的替换了几次,那么两个未压缩的.jar文件之间存储的差异可能比压缩文件的差异小得多.有人做过一些测试吗?
Von*_*onC 24
在.VCS(SVN,Git,...)中存储.jar文件的最佳做法:不要.
它可以在像SVN这样的CVCS(集中式VCS)中有意义,它可以处理数百万个文件,无论其大小如何.
它不在DVCS中,尤其是像Git(及其限制)之类的:
使用第二个存储库(如Nexus)存储这些jar,并仅引用txt文件(或Maven项目的pom.xml文件)以获取正确的jar版本.
工件仓库更适合分发和发布管理目的.
总而言之,如果你必须将jar存储在Git仓库中,我建议最初将它们以压缩格式存储(这是jar的默认格式:请参阅创建JAR文件)
压缩和未压缩格式都是被Git视为二进制文件,但至少在压缩格式下,克隆和结帐会花费更少的时间.
但是,许多线程提到以未压缩格式存储jar的可能性:
我正在使用一些repos,定期检查50MB tarball.
我说服他们不压缩tarball,并且git在它们之间进行delta压缩是相当不错的工作(尽管它需要相当多的RAM才能这样做).
你在这里有更多关于Git的deltified对象:
- 如果你正在处理二进制或文本,它没有任何区别;
- 增量不一定与先前版本中的相同路径相同,因此即使添加到历史记录中的新文件也可以以经过筛选的形式存储;
- 当使用存储在经过整理的表示中的对象时,与在压缩的基本表示中使用相同的对象相比,它将产生更多的成本.完成机制需要权衡这一成本以及空间效率.
因此,如果克隆和签出不是您每5分钟必须执行的常见操作,那么在Git中以未压缩格式存储jar会更有意义,因为:
建议:未压缩.
| 归档时间: |
|
| 查看次数: |
14839 次 |
| 最近记录: |