trouble with .hgignore and hg pull
Benedikt Spranger
b.spranger at linutronix.de
Thu Aug 4 12:53:40 CDT 2005
On Thu, Aug 04, 2005 at 10:21 -0700, Matt Mackall wrote:
> On Thu, Aug 04, 2005 at 06:35:09PM +0200, Benedikt Spranger wrote:
> > On Thu, Aug 04, 2005 at 08:27 -0700, Matt Mackall wrote:
> > > On Thu, Aug 04, 2005 at 01:30:50PM +0200, Benedikt Spranger wrote:
> > > > IOError: [Errno 2] No such file or directory:
> > > > '/path/to/hg/repos/A/.hg/data/.hgignore.d'
> > > Does that file exist?
> > No, .hg/data/.hgignore.i exists, .hg/data/.hgignore.d not.
> That's bad.
As a workaround I removed .hgignore and I was able to pull.
After re-adding the .hgignore and pulling, I trigger a other Problem.
I reached a key error in revlog.py. /path/to/B/.hg/.hgignore.i and
.hgignore.d exists, but they are 0 Bytes long. The following patch
throws a more verbose Errormessage.
---8<---
diff -r eef752151556 mercurial/revlog.py
--- a/mercurial/revlog.py Tue Aug 2 07:34:23 2005
+++ b/mercurial/revlog.py Thu Aug 4 19:44:34 2005
@@ -157,7 +157,13 @@
def tip(self): return self.node(len(self.index) - 1)
def count(self): return len(self.index)
def node(self, rev): return (rev < 0) and nullid or self.index
[rev][6]
- def rev(self, node): return self.nodemap[node]
+ def rev(self, node):
+ try:
+ ret = self.nodemap[node]
+ except KeyError:
+ raise KeyError("File: >" + self.datafile + "< node " + hex
(node))
+ return ret
+
def linkrev(self, node): return self.index[self.nodemap[node]][3]
def parents(self, node):
if node == nullid: return (nullid, nullid)
---8<---
> 6000 errors? Ouch!
> > How can I restore this repository?
> Well, we can't really fix missing files. Is this the kernel repo?
Yes. I setup some repos for different Boards and Kernelsubtrees.
The .hgignore thing was the first problem I reached.
> How did it get in this state?
I cloned a git-converted Tree.
17446 files, 2391 changesets, 32019 total revisions
6836 integrity errors encountered!
:-(
After some commits I added .hgignore. After that I did some work at this
repro.
> Did you have an unclean fsck recently or something?
No.
Benedikt Spranger
More information about the Mercurial
mailing list