将一些提交推到远程会给出一个相当奇怪的信息:
$ 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
所以repack是不被识别的。但是,在执行git gc时,可以识别“repack”:
$ 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'
...
在“git”之后的“git推送”再次给出了错误:未能运行repack。
$ git --version
git version 1.7.0.4
$ uname -a
Linux 2.6.32-28-泛型-pae #55-Ubuntu Jan 10 22:34:08 UTC 2011 i686 GNU/Linux
是推不是最优的,还是出了什么问题?
发布于 2011-02-01 15:28:08
错误发生在服务器上,而不是客户端上。在服务器上安装了什么版本的git?git是使用发行版包管理器安装在服务器上,还是从源安装到非标准位置?
服务器由您管理吗?也许有人认为他们只能安装git命令的一个子集,因为它只能用作服务器。
https://stackoverflow.com/questions/4863092
复制相似问题