Client.fetch() doesn't support thin packs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Dulwich |
Triaged
|
High
|
Unassigned |
Bug Description
I'm getting a KeyError when attempting to use hg-git to pull changes from two repos:
scjody@
scjody@
scjody@
pulling from git+https:/
importing git objects into hg
(run 'hg heads' to see heads)
scjody@
pulling from git+https:/
** unknown exception encountered, please report by visiting
** http://
** Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56) [GCC 4.4.5]
** Mercurial Distributed SCM (version 2.1)
** Extensions loaded: color, children, fetch, graphlog, hgk, mq, purge, rebase, record, transplant, convert, kiln.bigpush, kiln.caseguard, kiln.gestalt, kiln.kilnauth, kiln.kilnpath, pager, hggit, extdiff, churn
Traceback (most recent call last):
File "/usr/bin/hg", line 38, in <module>
mercurial.
File "/usr/lib/
sys.
File "/usr/lib/
return _runcatch(req)
File "/usr/lib/
return _dispatch(req)
File "/usr/lib/
cmdpats, cmdoptions)
File "/usr/lib/
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/
return wrapper(origfn, *args, **kwargs)
File "/usr/lib/
return orig(ui, options, cmd, cmdfunc)
File "/usr/lib/
return wrapper(origfn, *args, **kwargs)
File "/usr/lib/
return orig(ui_, opts, cmd, cmdfunc)
File "/usr/lib/
return checkargs()
File "/usr/lib/
return cmdfunc()
File "/usr/lib/
d = lambda: util.checksigna
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
util.
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
orig(ui, repo, *args, **opts)
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
util.
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
return orig(ui, repo, *args, **kwargs)
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
modheads = repo.pull(other, heads=revs, force=opts.
File "/home/
return git.fetch(
File "/home/
refs = self.fetch_
File "/home/
commit()
File "/usr/lib/
return self.move_
File "/usr/lib/
entries = p.sorted_entries()
File "/usr/lib/
ret = list(self.
File "/usr/lib/
for i, result in enumerate(
File "/usr/lib/
for result in self._walk_
File "/usr/lib/
self.
File "/usr/lib/
raise KeyError(
KeyError: ['f69f776453cce
scjody@
As a workaround, the problem goes away if I use git:// instead of git+https:// in the second URL.
I'm using an up to date clone of hg-git with Dulwich 0.8.1 (I've confirmed it still happens with an up to date clone of Dulwich).
Changed in dulwich: | |
status: | Incomplete → Triaged |
summary: |
- KeyError when using git+https in hg-git + Client.fetch() doesn't support thin packs |
Changed in dulwich: | |
importance: | Undecided → High |
Hi,
Thanks for the bugreport.
On Tue, Jul 17, 2012 at 09:02:26PM -0000, Jody McIntyre wrote: ailuropoda: ~$ hg init foo ailuropoda: ~$ cd foo ailuropoda: ~/foo$ hg pull git+https:/ /github. com/mozilla/ django- csp.git /github. com/mozilla/ django- csp.git
> I'm getting a KeyError when attempting to use hg-git to pull changes
> from two repos:
>
> scjody@
> scjody@
> scjody@
> pulling from git+https:/
[...]
>
> I'm using an up to date clone of hg-git with Dulwich 0.8.1 (I've
> confirmed it still happens with an up to date clone of Dulwich).
Can you reproduce this problem with plain dulwich ? dulwich itself
seems to happily clone this repository.
$ dulwich clone https:/ /github. com/mozilla/ django- csp.git
$
affects dulwich
status incomplete
Cheers,
Jelmer