[issue2462] Mq/HistEdit Dies Hard and Leaves Repo in Bad But Recoverable State
Paul
bugs at mercurial.selenic.com
Fri Oct 29 08:24:14 UTC 2010
New submission from Paul <classicist at gmail.com>:
Below is the play-by-play of our repo nearly getting hosed. I was trying to
fold revisions 22302:tip into a single changeset using histedit (where I
changed all of the "pick"s to "f" except for 22302). All the changes were
pretty normal (no binary files or anything), except for 22305 which was
*only* a file rename done by hg addremove --similarity 100. Also, it may be
worth noting that after this approach failed I copied the repo, then tried
to use mq to accompish the same thing via qfold. But after I hg qimport -r
22302:tip and hg qpop --all; hg qpush, hg qfold 22303.diff 22304.diff
22305.diff 22306.diff failed in a pretty epic way as well. After that, I
could not even apply those patches (they all failed qpush, one by one). I am
pretty new to hg and am only mentioning this last bit about mq, in case one
thing depended on another. Anyway my cleaned up bash session went like this:
monster:~/Development/repos$ hg version
Mercurial Distributed SCM (version 1.6.3+20100826)
Copyright (C) 2005-2010 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.
monster:(hg)Current[default: ]$ glog
@ changeset: 22306:78b817a4a2f6
| tag: tip
| user: commiterA
| date: Fri Oct 29 00:57:00 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22305:45c4b2dfb071
| user: commiterA
| date: Thu Oct 28 23:38:11 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22304:556378e2fdff
| user: commiterA
| date: Thu Oct 28 23:36:50 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22303:47f6bfab2654
| user: commiterA
| date: Thu Oct 28 23:05:04 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22302:57ec6a53b4e5
| user: commiterA
| date: Thu Oct 28 22:26:47 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22301:7570ea0d6ee2
| tag: master
| user: commiterB
| date: Thu Oct 28 19:02:21 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22300:3691d132d177
| user: commiterC
| date: Thu Oct 28 16:57:52 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
monster:(hg)Current[default: ]$ hg histedit 22302
2 files updated, 0 files merged, 1 files removed, 0 files unresolved
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
abort: Fix up the change and run hg histedit --continue
monster:(hg)Current[default: ]$ hg resolve
abort: no files or directories specified; use --all to remerge all files
monster:(hg)Current[default: ]$ hg resolve --all
monster:(hg)Current[default: ]$ hg histedit --continue
** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or mercurial at selenic.com
** Python 2.5.1 (r251:54863, Feb 6 2009, 19:02:12) [GCC 4.0.1 (Apple Inc.
build 5465)]
** Mercurial Distributed SCM (version 1.6.3+20100826)
** Extensions loaded: pager, bookmarks, children, color, churn, extdiff,
hgk, interhg, progress, purge, rebase, record, transplant, mq, histedit,
graphlog
Traceback (most recent call last):
File "/usr/local/bin/hg", line 27, in <module>
mercurial.dispatch.run()
File "/Library/Python/2.5/site-packages/mercurial/dispatch.py", line 16,
in run
sys.exit(dispatch(sys.argv[1:]))
File "/Library/Python/2.5/site-packages/mercurial/dispatch.py", line 34,
in dispatch
return _runcatch(u, args)
File "/Library/Python/2.5/site-packages/mercurial/dispatch.py", line 54,
in _runcatch
return _dispatch(ui, args)
File "/Library/Python/2.5/site-packages/mercurial/dispatch.py", line 494,
in _dispatch
cmdpats, cmdoptions)
File "/Library/Python/2.5/site-packages/mercurial/dispatch.py", line 355,
in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/Library/Python/2.5/site-packages/mercurial/extensions.py", line
174, in wrap
return wrapper(origfn, *args, **kwargs)
File "/Library/Python/2.5/site-packages/hgext/color.py", line 211, in colorcmd
return orig(ui_, opts, cmd, cmdfunc)
File "/Library/Python/2.5/site-packages/mercurial/extensions.py", line
174, in wrap
return wrapper(origfn, *args, **kwargs)
File "/Library/Python/2.5/site-packages/hgext/pager.py", line 95, in pagecmd
return orig(ui, options, cmd, cmdfunc)
File "/Library/Python/2.5/site-packages/mercurial/dispatch.py", line 545,
in _runcommand
return checkargs()
File "/Library/Python/2.5/site-packages/mercurial/dispatch.py", line 499,
in checkargs
return cmdfunc()
File "/Library/Python/2.5/site-packages/mercurial/dispatch.py", line 492,
in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/Library/Python/2.5/site-packages/mercurial/util.py", line 420, in check
return func(*args, **kwargs)
File "/Library/Python/2.5/site-packages/hgext/histedit/hg_histedit.py",
line 260, in histedit
new = newchildren[-1]
IndexError: list index out of range
monster:(hg)Current[default: ]$ glgog
-bash: glgog: command not found
monster:(hg)Current[default: ]$ glog
@ changeset: 22308:911252c840f9
| tag: tip
| parent: 22301:7570ea0d6ee2
| user: commiterA
| date: Thu Oct 28 23:05:04 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
| o changeset: 22307:7a3b6cdd393d
| | parent: 22302:57ec6a53b4e5
| | user: commiterA
| | date: Thu Oct 28 23:05:04 2010 -0600
| | summary: [Commit Msg Edited Out For Privacy]
| |
| | o changeset: 22306:78b817a4a2f6
| | | user: commiterA
| | | date: Fri Oct 29 00:57:00 2010 -0600
| | | summary: [Commit Msg Edited Out For Privacy]
| | |
| | o changeset: 22305:45c4b2dfb071
| | | user: commiterA
| | | date: Thu Oct 28 23:38:11 2010 -0600
| | | summary: [Commit Msg Edited Out For Privacy]
| | |
| | o changeset: 22304:556378e2fdff
| | | user: commiterA
| | | date: Thu Oct 28 23:36:50 2010 -0600
| | | summary: [Commit Msg Edited Out For Privacy]
| | |
| | o changeset: 22303:47f6bfab2654
| |/ user: commiterA
| | date: Thu Oct 28 23:05:04 2010 -0600
| | summary: [Commit Msg Edited Out For Privacy]
| |
| o changeset: 22302:57ec6a53b4e5
|/ user: commiterA
| date: Thu Oct 28 22:26:47 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22301:7570ea0d6ee2
| tag: master
| user: commiterB
| date: Thu Oct 28 19:02:21 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22300:3691d132d177
| user: commiterC
| date: Thu Oct 28 16:57:52 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
monster:(hg)Current[default: ]$ hg qimport -r 22302:tip
monster:(hg)Current[default: ]$ hg qapplied
22302.diff
22303.diff
22304.diff
22305.diff
22306.diff
monster:(hg)Current[default: ]$ hg qfold
abort: qfold requires at least one patch name
monster:(hg)Current[default: ]$ hg qfold 22302.diff 22303.diff 22304.diff
22305.diff
abort: qfold cannot fold already applied patch 22302.diff
monster:(hg)Current[default: ]$ hg qpop
popping 22306.diff
now at: 22305.diff
monster:(hg)Current[default: ]$ hg qpop --all
popping 22305.diff
popping 22304.diff
popping 22303.diff
popping 22302.diff
patch queue now empty
monster:(hg)Current[default: ]$ hg qfold 22302.diff 22303.diff 22304.diff
22305.diff
abort: No patches applied
monster:(hg)Current[default: ]$ hg qpush
applying 22302.diff
now at: 22302.diff
monster:(hg)Current[default: ]$ hg qfold 22303.diff 22304.diff 22305.diff
22306.diff
patching file path/to/file/theChangedFileName.whatever
Hunk #1 FAILED at 0
1 out of 6 hunks FAILED -- saving rejects to file
path/to/file/theChangedFileName.whatever.rej
patch failed, unable to continue (try -v)
abort: Error folding patch 22303.diff
monster:(hg)Current[default: ]$ glog
@ changeset: 22302:9f442d082d02
| tag: 22302.diff
| tag: qbase
| tag: qtip
| tag: tip
| user: commiterA
| date: Thu Oct 28 22:26:47 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22301:7570ea0d6ee2
| tag: master
| tag: qparent
| user: commiterB
| date: Thu Oct 28 19:02:21 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22300:3691d132d177
| user: commiterC
| date: Thu Oct 28 16:57:52 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22299:c558c3e46f92
| user: commiterC
| date: Thu Oct 28 16:57:32 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22298:11f5ba8a6346
| user: jparrent
| date: Thu Oct 28 16:48:08 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22297:335723178fdc
| user: commiterC
| date: Thu Oct 28 16:09:49 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
monster:(hg)Current[default: ]$ hg qapplied
22302.diff
monster:(hg)Current[default: ]$ hg qunapplied
22303.diff
22304.diff
22305.diff
22306.diff
monster:(hg)Current[default: ]$ hg qpush
abort: local changes found, refresh first
monster:(hg)Current[default: ]$ st
M path/to/file/theChangedFileName.whatever
monster:(hg)Current[default: ]$ hdiff
monster:(hg)Current[default: ]$ hg qpop
abort: local changes found, refresh first
monster:(hg)Current[default: ]$ hg up -C
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
monster:(hg)Current[default: ]$ hg qpop
popping 22302.diff
patch queue now empty
monster:(hg)Current[default: ]$ hg qunapplied
22302.diff
22303.diff
22304.diff
22305.diff
22306.diff
monster:(hg)Current[default: ]$ hg qpush
applying 22302.diff
now at: 22302.diff
monster:(hg)Current[default: ]$ hg qpush
applying 22303.diff
patching file path/to/file/theChangedFileName.whatever
Hunk #1 FAILED at 0
1 out of 6 hunks FAILED -- saving rejects to file
path/to/file/theChangedFileName.whatever.rej
patch failed, unable to continue (try -v)
patch failed, rejects left in working dir
errors during apply, please fix and refresh 22303.diff
monster:(hg)Current[default: ]$ mate
path/to/file/theChangedFileName.whatever.rej
monster:(hg)Current[default: ]$ hg up -C
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
monster:(hg)Current[default: ]$ st
monster:(hg)Current[default: ]$ hg qapplied
22302.diff
22303.diff
monster:(hg)Current[default: ]$ hg qpush
applying 22304.diff
patch failed, unable to continue (try -v)
patch failed, rejects left in working dir
errors during apply, please fix and refresh 22304.diff
monster:(hg)Current[default: ]$ hg st
monster:(hg)Current[default: ]$ st
monster:(hg)Current[default: ]$ hg qapplied
22302.diff
22303.diff
22304.diff
monster:(hg)Current[default: ]$ hg qpush
applying 22305.diff
now at: 22305.diff
monster:(hg)Current[default: ]$ hg qpush
applying 22306.diff
patching file path/to/file/AnotherChangedFileName.whatever
Hunk #1 FAILED at 1
Hunk #3 FAILED at 27
Hunk #4 FAILED at 36
Hunk #5 FAILED at 57
Hunk #7 FAILED at 122
Hunk #8 succeeded at 142 with fuzz 2 (offset -2 lines).
Hunk #9 succeeded at 151 with fuzz 1 (offset -2 lines).
5 out of 11 hunks FAILED -- saving rejects to file
path/to/file/AnotherChangedFileName.whatever.rej
patch failed, unable to continue (try -v)
patch failed, rejects left in working dir
errors during apply, please fix and refresh 22306.diff
monster:(hg)Current[default: ]$ mate
path/to/file/AnotherChangedFileName.whatever.rej
monster:(hg)Current[default: ]$ hg merge
monster:(hg)Current[default: ]$ hg resolve
abort: no files or directories specified; use --all to remerge all files
monster:(hg)Current[default: ]$ hg resolve --all
monster:(hg)Current[default: ]$ st
monster:(hg)Current[default: ]$ hg qapplied
22302.diff
22303.diff
22304.diff
22305.diff
22306.diff
monster:(hg)Current[default: ]$ st
M path/to/file/AnotherChangedFileName.whatever
monster:(hg)Current[default: ]$ glog
@ changeset: 22306:d2df19c7d707
| tag: 22306.diff
| tag: qtip
| tag: tip
| user: commiterA
| date: Fri Oct 29 00:57:00 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22305:61b6ab4b6087
| tag: 22305.diff
| user: commiterA
| date: Thu Oct 28 23:38:11 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22304:e68a00ba0493
| tag: 22304.diff
| user: commiterA
| date: Thu Oct 28 23:36:50 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22303:cbf3437574a0
| tag: 22303.diff
| user: commiterA
| date: Thu Oct 28 23:05:04 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22302:9f442d082d02
| tag: 22302.diff
| tag: qbase
| user: commiterA
| date: Thu Oct 28 22:26:47 2010 -0600
| summary: [Commit Msg Edited Out For Privacy]
|
o changeset: 22301:7570ea0d6ee2
| tag: master
| tag: qparent
monster:(hg)Current[default: ]$ ..
monster:~/Development/repos$ ls
Current Current_backup Maint_2010_C5
monster:~/Development/repos$ mv Current Current_foobared
----------
messages: 14224
nosy: classicist
priority: urgent
status: unread
title: Mq/HistEdit Dies Hard and Leaves Repo in Bad But Recoverable State
topic: 1.6.4, mq
____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2462>
____________________________________________________
More information about the Mercurial-devel
mailing list