2011-02-01 8 views
0

pousser certains commits à la télécommande donne un message plutôt bizarre:git push donne git: 'repack' est pas une commande 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 

donc remballer n'est pas reconnu. Mais 'repack' est reconnu lorsque vous faites un 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' 
... 

Et un 'git push' juste après un 'gc git' donne à nouveau l'erreur: pas à exécuter repack.

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

Linux lin 2.6.32-28-generic-pae # 55 Ubuntu SMP Mon 10 janvier 22:34:08 UTC 2011 i686 GNU/Linux

Le fait tout simplement pas optimale, ou est il y a quelque chose de mal?

  • Paul

Répondre

3

L'erreur se produit sur le serveur et non sur votre client. Quelle version de git est installée sur le serveur? Git a-t-il été installé sur le serveur à l'aide du gestionnaire de paquets de distributions ou a-t-il été installé à partir de la source, éventuellement dans un emplacement non standard?

Le serveur est-il géré par vous? Peut-être que quelqu'un pensait qu'ils pouvaient seulement installer un sous-ensemble des commandes git parce que ça allait seulement être utilisé comme serveur.

+0

L'installation sur le service était un sous-ensemble seulement, pour des raisons de sécurité. Une fois cela corrigé, le problème était parti. –

+0

@paul, quel composant manquait? –