2011-02-01 49 views
0

推一些提交給遠程給出了一個相當奇怪的消息:混帳推給git的:「重新包裝」是不是一個git命令

$ GIT_TRACE=2 git push 
trace: built-in: git 'push' 
trace: run_command: 'ssh' 'gitserver' 'git-receive-pack '\''~/git/test'\''' 
trace: run_command: 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset' 
trace: exec: 'git' 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset' 
trace: built-in: git 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset' 
Counting objects: 7, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (6/6), done. 
Writing objects: 100% (6/6), 598 bytes, done. 
Total 6 (delta 3), reused 0 (delta 0) 
Auto packing the repository for optimum performance. 
git: 'repack' is not a git command. See 'git --help'. 
error: failed to run repack 
To gitserver:~/git/test 
    ad2b6ed..2a31eea master -> master 

所以重新包裝不被認可。 但「重新打包」 做一個git GC時承認:

$ GIT_TRACE=2 git gc 
trace: built-in: git 'gc' 
trace: run_command: 'pack-refs' '--all' '--prune' 
trace: exec: 'git' 'pack-refs' '--all' '--prune' 
trace: built-in: git 'pack-refs' '--all' '--prune' 
trace: run_command: 'reflog' 'expire' '--all' 
trace: exec: 'git' 'reflog' 'expire' '--all' 
trace: built-in: git 'reflog' 'expire' '--all' 
trace: run_command: 'repack' '-d' '-l' '-A' 
trace: exec: 'git' 'repack' '-d' '-l' '-A' 
trace: exec: 'git-repack' '-d' '-l' '-A' 
trace: run_command: 'git-repack' '-d' '-l' '-A' 
... 

和「混帳GC」之後立即「混帳推」再次給出了錯誤:無法運行重新包裝。

$ git --version 
git version 1.7.0.4 
$ uname -a 

的Linux林2.6.32-28-仿製PAE#55,Ubuntu的SMP週一1月10日22時34分08秒UTC 2011 i686的GNU/Linux的

是推只是不是最優的,或者是有什麼不對?

  • 保羅

回答

3

錯誤發生在服務器上,而不是你的客戶端上。服務器上安裝了哪個版本的git? git是否使用distros軟件包管理器安裝在服務器上,還是從源安裝,可能位於非標準位置?

服務器是否由您管理?也許有人認爲他們只能安裝git命令的一個子集,因爲它只能用作服務器。

+0

由於安全原因,服務器上的安裝只是一個子集。一旦這個問題得到糾正,問題就沒有了。 – 2011-02-08 16:36:04

相關問題