问题描述:
$ git push origin branch_name
Counting objects: 94, done.
Delta compression using up to 24 threads.
Compressing objects: 100% (91/91), done.
Writing objects: 100% (94/94), 28.24 KiB | 0 bytes/s, done.
Total 94 (delta 55), reused 0 (delta 0)
error: unpack failed: error duplicateEntries: object 6a9756b0031b09e9b5ef3831d5f6d40fd4e0c00b: duplicate entry names
fatal: Unpack error, check server log
To gerrit.ext.repository
! [remote rejected] branch_name-> branch_name(n/a (unpacker error))
error: failed to push some refs to 'gerrit.ext.repository'
分析:
$ git fsck --full
error in tree 6a9756b0031b09e9b5ef3831d5f6d40fd4e0c00b: duplicateEntries: contains duplicate file entries
warning in tree e85f18942910ed08589c38ba6833a75cfede4eb6: hasDotgit: contains '.git'
Checking object directories: 100% (256/256), done.
Checking objects: 100% (48338/48338), done.
$ git read-tree 6a9756b0031b09e9b5ef3831d5f6d40fd4e0c00b
error: Invalid path 'scripts/.git'
$ git ls-tree 6a9756b0031b09e9b5ef3831d5f6d40fd4e0c00b
160000 commit f4b9450cace802dba6fdf6ed8b152b6317f714d8 scripts
040000 tree e85f18942910ed08589c38ba6833a75cfede4eb6 scripts
找到duplicate entries:scripts
解决:
删除duplicate项