몇 번 잡아당기고 나면, 또 한 번 밀고 당기고 나면, 잡아당기다가 붕괴될 수도 있다.
묘사
** Mercurial Distributed SCM (version 1.5) ** Extensions loaded: hg-git Traceback (most recent call last): File "/usr/bin/hg", line 27, inmercurial.dispatch.run() File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 16, in run sys.exit(dispatch(sys.argv[1:])) File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 30, in dispatch return _runcatch(u, args) File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 47, in _runcatch return _dispatch(ui, args) File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 466, in _dispatch return runcommand(lui, repo, cmd, fullargs, ui, options, d) File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 336, in runcommand ret = _runcommand(ui, options, cmd, d) File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 517, in _runcommand return checkargs() File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 471, in checkargs return cmdfunc() File "/usr/lib/python2.6/site-packages/mercurial/dispatch.py", line 465, in d = lambda: util.checksignature(func)(ui, *args, **cmdoptions) File "/usr/lib/python2.6/site-packages/mercurial/util.py", line 401, in check return func(*args, **kwargs) File "/usr/lib/python2.6/site-packages/mercurial/commands.py", line 2402, in pull modheads = repo.pull(other, heads=revs, force=opts.get('force')) File "/home/mk/hg-git/hggit/hgrepo.py", line 12, in pull git.fetch(remote.path, heads) File "/home/mk/hg-git/hggit/git_handler.py", line 95, in fetch refs = self.fetch_pack(remote, heads) File "/home/mk/hg-git/hggit/git_handler.py", line 615, in fetch_pack f.write, self.ui.status) File "/usr/lib/python2.6/site-packages/dulwich/client.py", line 336, in fetch_pack progress) File "/usr/lib/python2.6/site-packages/dulwich/client.py", line 166, in fetch_pack have = graph_walker.next() File "/usr/lib/python2.6/site-packages/dulwich/object_store.py", line 726, in next ps = self.get_parents(ret) File "/usr/lib/python2.6/site-packages/dulwich/object_store.py", line 234, in return ObjectStoreGraphWalker(heads, lambda sha: self[sha].parents) File "/usr/lib/python2.6/site-packages/dulwich/object_store.py", line 100, in __getitem__ type, uncomp = self.get_raw(sha) File "/usr/lib/python2.6/site-packages/dulwich/object_store.py", line 317, in get_raw raise KeyError(hexsha) KeyError: '02b00820423dfcf3270de966d0ab3b1c098e9bf2'
Using latest dulwich and latest hg-git
토론 #1
Need significantly more information to diagnose. Is this only a particular repo? Is it public?
토론 #2
It is git+ssh://[email protected]/gitroot/freerdp/freerdp and is thus password-protected. It is not reproducible in new repos, but I have seen it a couple of times - and a new clone works fine.
I haven't seen it on other git repos, but this is the only one I have push access to.
Can it be be caused by qpush and qpush until qfin and push?
Or ... perhaps it is related to the .git folder that sometimes appears and I might have messed too much with?
Can I do something to debug in my local failing repo?
토론 #셋
What does
$ git --git-dir=.hg/git show --pretty=raw 02b00820423dfcf3270de966d0ab3b1c098e9bf2 | head
주다존재하지 않으면
git-mapfile
에 오래된 맵이 존재할 수 있습니다.토론 #4
나도 여기서 같은 문제가 있다(hggit 리콜, rctay의 rc/fixann 라벨을 당기려고 시도한다).이것은 오래된 맵으로 인해 일어났지만, 'hg git cleanup' 은 그것을 복구하지 않았습니다.문제는 hg 제출이 존재하지 않는git 제출에 비치는 것입니다.
한 마디로 하면 hg-gc와 hg-gex가 이 문제를 해결했다.아니요.수은.
그런데 문제가 하나 있다.git (어떤 git 버전의gen에서 만들었다고 가정합니다.)
나는 방금 나의 작업 디렉터리'freerdp '에 하위 폴더'freerdp' 와 다른 작업 디렉터리가 있다는 것을 알아차렸다.
지도 파일에 관해서 나는 가지고 있다.gg/git 맵 파일은 이상한 플러그인 리콜 프로토콜이든 정교한 새 리콜 프로토콜이든
02b00820423dfcf3270de966d0ab3b1c098e9bf2 e73ad6b126a394c1ed1cbd2447b4e12b1b32e8c5
플러그인 환매 협의는freerdp/를 한층 더 가지고 있다.git/참고문헌/책임자/석사
02b00820423dfcf3270de966d0ab3b1c098e9bf2
이 보고서는 좀 곤혹스럽다.나는 그도 이 일을 보게 되어 매우 기쁘다. 만약 다시 발생한다면, 나는 세심하게 주의할 것이다.
[argh. 나는github와 그 표시의 친구가 아니다.]
토론 #5
또 받았어요.파일 "/usr/lib/python2.6/site packages/dulwich/object store.py", 317행, get raw에서
raise KeyError(hexsha)
키 오류: "498d38a8a89bd3ff06772aa7d27f9d5b2275e8ff"
치명적: 예기치 않은 원격 중단
$grep-r 498d38a8a89bd3ff06772aa7d27f9d5b2275e8ff.
./.gg/git 맵 파일: 498D38A89BD3FF06772AA7F9D5B2275E8FF9A2348F860349E3806B9645F64740206139E13
./.git/refs/heads/master:498d38a8a89bd3ff06772aa7d27f9d5b2275e8ff
$ls-경궤$(찾기-f형)|꼬리
-rw-rw-r--1 mk mk 772480 2010-03-28 20:40/freerdp 알 수 없습니다.타르.중국 광저우
-rw------1 mk mk 0 2010-03-28 20:45./.git/objects/pack/tmpBFSU9L.포장하다
-RWXR-x 1 mk mk 0 2010-03-28 20:45./.git/info/excludes
-RWXR-x 1 mk mk 24 2010-03-28 20:45./.지트
-RWXR-x 1 mk mk 18 2010-03-28 20:45./.git/설명
-RWXR-x 1 mk mk 104 2010-03-28 20:45/.git/config
-rw-rw-r--1 mk mk 44280 2010-03-31 11:57./.hg/git 맵 파일
-RWXR-x 1 mk mk 41 2010-03-31 11:57./.git/참고문헌/책임자/석사
-RWXR-x 1 mk mk 41 2010-03-31 11:57./.지트/참고문헌/담당자/유지보수
-rw------1 mk mk 0 2010-03-31 11:57./.git/objects/pack/tmpTlrtUw.포장하다
gg gc 다음은pull에서 복구했습니다.
토론 #6
@kiilerix, 복구/해결 방안을 보고해 주셔서 감사합니다.걸출하다Reference
이 문제에 관하여(몇 번 잡아당기고 나면, 또 한 번 밀고 당기고 나면, 잡아당기다가 붕괴될 수도 있다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/schacon/hg-git/issues/90텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)