News for hackers. Stuff that matters.
Re:What's New in Mercurial 3.0 by jordigh on Tuesday April 29, 2014 @04:40PM (#7669823)
> Is history modifying rebase going away?

In hg "rebase" just means "change the base" not "rewrite commits". So I assume you mean "rewrite" in general.

With evolve, the obsolete commits stay around foreverish, but they slowly fade from history as new people clone or pull, since obsolete commits don't get pulled or pushed by default.

> If I accidently commit "the keys to the kingdom" how do I get them out of the history?

Mercurial never actually removes any functionality, since it's got the deepest commitment to backwards compatibility I've ever seen. Thus, you will delete commits the same way you do now: hg strip --no-backup. That deletes commits with extreme prejudice, locally. Now you just have to run this in every copy of your repo, including remote ones, but the genie-out-of-the-bottle problem is one you can't avoid with a DVCS.

Re:What's New in Mercurial 3.0 by Skinney on Tuesday April 29, 2014 @06:18PM (#7670292)
> In hg "rebase" just means "change the base" not "rewrite commits". So I assume you mean "rewrite" in general.

rebase doesn't mean "rewrite commits", it means "create new commits based on these ones, based of a new base". Your original commits are still there, and are pushed to the remote, but are GCed after a certain period (default 30 days?) if they are not referenced from anywhere. Since unreferenced commits are pushed to the remote, you can easily restore those commits within the GC period.

Re:What's New in Mercurial 3.0 by jordigh on Tuesday April 29, 2014 @06:28PM (#7670341)
When you rewrite a book and create a new edition, you don't typically recall the old editions. A rewrite needn't be destructive.

My point is that git says "rebase" even when the underlying base of the commits affected is not changing. This is an artifact of the UI, since the command to rewrite in git is typically git rebase -i.