[issue878] strip without qpop confuses repository

Vladimir Marek mercurial-bugs at selenic.com
Sat Dec 15 02:52:30 CST 2007


New submission from Vladimir Marek <Vladimir.Marek at Sun.COM>:

Hi,

=================================== testfail ===================================
#!/bin/bash

set -x

rm -rf testmq
hg init testmq
cd testmq

echo file > file
hg ci -A -m file

hg qinit -c
hg qnew patch
echo patch > file
hg qrefresh

hg strip 1
hg log
================================================================================

The last hg log says:

abort: 00changelog.i: no node a082a73cdcfd405ce22dd3c0d485b1a6c915eb08!


$ cat .hg/patches/status
a082a73cdcfd405ce22dd3c0d485b1a6c915eb08:patch

Trimming the .hg/patches/status 'fixes' the repo

Question may be ask why I'm stripping instead of qpoping. I just created
shortest reproducible case. The same effect can be seem when you try to strip
real changesets (which can't be qpoped), with mq applied on top.

I can see three possibilites how to fix this

a) warn user about mq applied and bail out
b) be more clever in strip, and update .hg/patches/status accordingly
c) qpop internally first, then strip

Thank you

-- 
	Vlad

----------
messages: 4621
nosy: VladimirMarek
priority: bug
status: unread
title: strip without qpop confuses repository
topic: mq

____________________________________________________
Mercurial issue tracker <mercurial-bugs at selenic.com>
<http://www.selenic.com/mercurial/bts/issue878>
____________________________________________________



More information about the Mercurial-devel mailing list