corrupt repository after following mq merging instructions

L. David Baron dbaron at dbaron.org
Thu Feb 28 21:57:27 CST 2008


So to merge my mq patch queue, I've been avoiding using the good
merging techniques documented in
http://hgbook.red-bean.com/hgbookch12.html#x16-28900012.8 because I
ended up with a bunch of problems the last time I tried.  I finally
gave it another try, and I ended up with a corrupt repository.  Is
this the result of a known bug?

Log of the relevant parts of what I did, plus my .hgrc, is below.

-David

dbaron at ridley Linux (0) /builds/trunk/working $ hg qpush -a
all patches are currently applied
dbaron at ridley Linux (0) /builds/trunk/working $ hg qsave -e -c
copy /builds/trunk/working/.hg/patches to /builds/trunk/working/.hg/patches.1
dbaron at ridley Linux (0) /builds/trunk/working $ hg pull && hg up -C
pulling from ssh://hudson/builds/mercurial-trunk/mozilla
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 46 changes to 46 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
190 files updated, 0 files merged, 1 files removed, 0 files unresolved
dbaron at ridley Linux (0) /builds/trunk/working $ hg qpush -m -a
merging with queue at: /builds/trunk/working/.hg/patches.1
applying existing-diffs
applying bug-915
applying js-refcount-debug
applying bug-369581
applying debug-forget-runtime-assertion
applying widget-shutdown-earlier
applying trace-malloc-free-tables
applying gc-time-printfs
applying spacer-attribute-map-no-style-context
applying make-tree-skip-top
applying test-expect-end-property
applying nss-shutdown-leaks
applying debug-help-thread-safety
applying nss-leak-2
applying static-ctor-dtor-assertions
applying gtk-widget-leaks
applying static-ctor-list-control-frame
applying output-errors-inside-at-rules
applying log-event-type
applying coord-rounding-problem
applying cleanup-GetWidthInfo
applying charset-converter-perf
applying remove-float-edge-values
applying nsinstall-always-unlink
applying fix-pango-leaks-harder
applying trace-malloc-dump-on-signal
applying build-libxul-trace-malloc-non-firefox
applying allow-null-class
applying rtl-inline-abs-pos-fix
applying strict-aliasing-enabled
applying wconversion-x86_64-fixes
applying style-sides-by-value
Now at: style-sides-by-value
dbaron at ridley Linux (0) /builds/trunk/working $ hg qpop -a -n patches.1
using patch queue: /builds/trunk/working/.hg/patches.1
saving bundle to /builds/trunk/working/.hg/strip-backup/9c78afcbef08-temp
adding branch
abort: prechangegroup.mq-no-pull hook exited with status 1
dbaron at ridley Linux (255) /builds/trunk/working $ vi ~/.hgrc 
[ I temporarily commented out the mq-no-pull hook below ]
dbaron at ridley Linux (0) /builds/trunk/working $ hg qpop -a -n patches.1
using patch queue: /builds/trunk/working/.hg/patches.1
abort: 00changelog.i: no node 9c78afcbef0822b56213b3304de72df0f526a943!
dbaron at ridley Linux (0) /builds/trunk/working $ hg log
abort: 00changelog.i: no node 6992fa98a102c06224a61b8f4638fcc09d67aa9f!
dbaron at ridley Linux (0) /builds/trunk/working $ hg parent
abort: 00changelog.i: no node 6992fa98a102c06224a61b8f4638fcc09d67aa9f!
dbaron at ridley Linux (0) /builds/trunk/working $ hg version
Mercurial Distributed SCM (version 0.9.5)

Copyright (C) 2005-2007 Matt Mackall <mpm at selenic.com> and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dbaron at ridley Linux (0) /builds/trunk/working $ cat ~/.hgrc 
[ui]
username = L. David Baron <dbaron at dbaron.org>

[defaults]
#qrefresh = --git # doesn't apply to qnew -f
#qnew = --config diff.git=1 # might fix the above problem (untested)

[diff]
# Use git patch format, which can store diffs of binary files, and
# renames.  Essential when using mq.  Could also use
# [defaults]: qrefresh = --git (but see above)
git = 1

[extensions]
hgext.mq =
#hgext.hgk =
#hgext.extdiff =

[hooks]
# Prevent "hg pull" if MQ patches are applied.
prechangegroup.mq-no-pull = ! hg qtop > /dev/null 2>&1
# Prevent "hg push" if MQ patches are applied.
#preoutgoing.mq-no-push = ! hg qtop > /dev/null 2>&1

[extdiff]
cmd.mdiff = /usr/bin/diff
opts.mdiff = -N -p -U 12
dbaron at ridley Linux (0) /builds/trunk/working $ 

-- 
L. David Baron                                 http://dbaron.org/
Mozilla Corporation                       http://www.mozilla.com/


More information about the Mercurial mailing list