index parser: fix refcounting in case of errors, refactor
due to incorrect refcounting, on a bad revlog it was failing with:
*** glibc detected *** /usr/bin/python: corrupted double-linked list: 0x0816d318 ***
and a backtrace.
adding 1
adding 2
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
created new head
resolving manifests
overwrite None partial False
ancestor 81f4b099af3d local c64f439569a9+ remote 2f8037f47a5c
searching for copies back to rev 1
unmatched files in other:
1a
all copies found (* = to merge, ! = divergent):
1a -> 1
checking for directory renames
1: other deleted -> r
1a: remote created -> g
removing 1
getting 1a
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
(branch merge, don't forget to commit)
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
created new head
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
resolving manifests
overwrite None partial False
ancestor c64f439569a9 local ac7575e3c052+ remote 746e9549ea96
searching for copies back to rev 1
unmatched files in local:
1a
all copies found (* = to merge, ! = divergent):
1a -> 1 *
checking for directory renames
1a: local moved to 1 -> m
preserving 1a for resolve of 1a
picked tool 'internal:merge' for 1a (binary False symlink False)
merging 1a and 1 to 1a
my 1a@ac7575e3c052+ other 1@746e9549ea96 ancestor 1@81f4b099af3d
premerge successful
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
resolving manifests
overwrite None partial False
ancestor c64f439569a9 local 746e9549ea96+ remote ac7575e3c052
searching for copies back to rev 1
unmatched files in other:
1a
all copies found (* = to merge, ! = divergent):
1a -> 1 *
checking for directory renames
1: remote moved to 1a -> m
preserving 1 for resolve of 1a
removing 1
picked tool 'internal:merge' for 1a (binary False symlink False)
merging 1 and 1a to 1a
my 1a@746e9549ea96+ other 1a@ac7575e3c052 ancestor 1@81f4b099af3d
premerge successful
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)