Remove mercurial message "obsolete feature not enabled but xxx markers found"

Viewed 1450

For a short time I had the evolve extension enabled in our Mercurial repository. Then I disabled it.

Now I frequently see messages like:

obsolete feature not enabled but 184 markers found!

when various hg commands are run.

How can I get rid of this message? I gather there are "obsolecense markers" in the repository now, is it possible to remove them and/or silence these messages?

2 Answers

You just need to delete the obsstore:

$ rm .hg/store/obsstore

Note that if you do this the obsolete commits you've made will show up once again as either draft or public changes.

A comment noted that:

the cleaner solution would be to try to clone the repo again.

(jadelord Jan 3 '19 at 10:48)

The potential benefit of this approach (instead of deleting obsstore) would be:

  • Uses normal built in commands

  • Gets rid of obsolete changesets which would otherwise remain in history, potentially causing clutter or confusion.

According to the EVOLVE: USER GUIDE:

...obsolete [changesets] won’t be exchanged with other repositories by push, pull, or clone.

which seems to support this approach. I have not yet had an opportunity to try it out.

In other words, the steps should be:

  • Modify hgrc to turn of evolve
  • hg clone source dest
  • Now dest should be free of any obsolete changesets (and probably also won't have an obsstore file)
Related