File changes lost during evolve operation

Angel Ezquerra angel.ezquerra at gmail.com
Sat Nov 22 10:59:16 UTC 2014


Hi,

I just had something odd happen to me while using the hg evolve command:

1. I had 2 changests, A and B
- Changeset A changed the file repotreeitem.py and added a .svg file
- Changeset B changed the files repotreeitem.py and reporegistry.py

2. I updated to A, changed repotreeitem.py and amended A into A'
3. I evolved B into B'

In doing this I got the following message:

~~~
move:[17269] reporegistry: add "Open Shared Source..." action to
shared repositories
atop:[17271] reporegistry: mark shared repositories with a link icon overlay
merging tortoisehg/hgqt/repotreeitem.py
Couldn't bind the translation domain. Some translations won't work.
'module' object has no attribute 'bindtextdomain'
Fatal Python error: PyThreadState_Get: no current thread
merging tortoisehg/hgqt/repotreeitem.py failed!
working directory is now at 39c72e2f9676
~~~

I found this odd, but I was a bit distracted (my kid was running
around pretending it was a really fast snail! :-> ) so I did not think
twice about it. I just checked the working directory status on the
tortoisehg commit panel and I saw no changes so I thought everything
was fine.

4. I pulled from the tortoisehg repo, got some new revisions, and I
rebased A'-B' to the tip of default, getting A''-B''
5. I looked at B''and I see that B'' only changes reporegistry.py (the
changes to repotreeitem.py where "lost")

So it seems the "merging tortoisehg/hgqt/repotreeitem.py failed!"
error message was important after all :-P

This retaught me a lesson that I should already know: I should check
the result of evolve as much as I check the result of any merge of
rebase (this is obvious of course, but hopefully I will no longer
forget to do it.). I was using evolve as a fancy mq, but mq usually
fails hard when it fails (e.g. it fails to apply a patch). I think
evolve should do the same here. That is, of the merge fails it should
leave things as they were rather than creating a wrong evolved
revision.

Cheers,

Angel


More information about the Evolve-testers mailing list