SSIS包新增数据流任务提交Git后,拉取出现failed to inflate packfile错误求助
解决Git拉取SSIS包变更时的"failed to inflate packfile"错误
我之前在团队里碰到过完全一样的问题!当修改包含大量数据流任务的大型SSIS包(哪怕只是新增一个小任务)并提交后,其他成员拉取时就会触发这个解压错误,折腾了好一阵子才搞定,分享下我的解决方案:
临时应急修复(快速解决当前问题)
- 让提交变更的开发者按以下步骤重新提交:
- 先用
git revert <出问题的提交哈希>撤销之前的错误提交,推送到服务器 - 本地临时关闭Git的压缩功能:执行
git config core.compression 0 - 重新做一次新增数据流任务的修改,提交并推送到服务器
- 其他成员现在拉取这个新提交,应该就能正常完成了
- 先用
长期预防方案(避免以后再踩坑)
给SSIS包文件配置专属的Git属性,让Git不对这类大XML文件做默认的压缩和差异处理:
- 在仓库根目录创建(或编辑)
.gitattributes文件 - 添加一行规则:
*.dtsx -filter -diff -merge-filter告诉Git不对该文件应用压缩过滤器-diff关闭SSIS包的差异对比(毕竟XML格式的SSIS包diff也没什么可读性)-merge避免自动合并SSIS包(这类文件手动合并更可靠)
- 提交
.gitattributes到仓库,所有成员拉取后,后续的SSIS包变更就不会再触发packfile解压错误了
额外排查方向
- 检查Git服务器配置:有些自建Git服务器会限制packfile的大小或压缩阈值,大SSIS包的变更可能触发了这个限制,可以联系运维调整
pack.packSizeLimit或pack.window这类参数 - 升级Git版本:老版本的Git在处理大XML文件的压缩逻辑上可能存在bug,建议团队统一升级到最新的稳定版Git
内容的提问来源于stack exchange,提问作者C4Cat100
相关产品推荐
相关产品推荐

