Evolve: Rebase commit is not created if it was previously created then pruned

Christopher Speck die.drachen at gmail.com
Wed Jul 14 04:12:03 UTC 2021


I’ve come across an issue while using the evolve extension where running a `rebase` command unexpectedly does not result in a new commit. I’m able to reproduce this in a new repository.

Mercurial: 5.8.1
Evolve: a65d17b1b463 (stable branch from evolve repo)

The setup involved looks generally like this:
Run `hg rebase —dest master —rev a:b —collapse —keep`
Prune the resulting rebased/squashed commit
Re-run the same rebase command
The result from running the rebase command again is that no new rebased commit is created. Most users will probably not run these commands themselves however I’m working with a tool that is not able to determine whether the rebase command that it’s running was run previously and pruned.

In addition to the resulting commit not being present, I have also seen some related strange behaviors though it does not reproduce in the steps I’ve listed. It might involve using bookmarks but the other behavior I’ve seen is:
A bookmark that exists on `b` is moved to the previously pruned & obsolete rebased changeset.
The previously pruned & obsolete rebased changeset is also tagged as the `tip`.


Here are relevant files
evolve-test.tar.gz -  https://drive.google.com/file/d/10--OUffnbo2LSYb6MCEaszKoMYNKaaEu/view?usp=sharing <https://drive.google.com/file/d/10--OUffnbo2LSYb6MCEaszKoMYNKaaEu/view?usp=sharing>
This is a minimal test repository where I reproduced the issue
evolve-test.txt - https://drive.google.com/file/d/1KGeYzObNkva34A9I7pd_hoq-UGCW0mjW/view?usp=sharing <https://drive.google.com/file/d/1KGeYzObNkva34A9I7pd_hoq-UGCW0mjW/view?usp=sharing>
This is the console log from when I created the repository and all the commands I ran in it to reproduce the issue

Thank you,

Christopher Speck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial/attachments/20210714/2cc9dcd3/attachment.html>


More information about the Mercurial mailing list