Except you've thrown away everything that's happened since 1973, some of which you may still want. There's going to be a lot of awful lot of manual conflict resolution to handle - or is there a "world" script that can be run off the new HEAD that plays out the series of events that result from the sentinels being prevented?
I think you should mention that 1973 wolverine enlists young punk Quicksilver (1000x developer) who force pushes a ton of undocumented, yet amazing, features with little to no commit messages, then sadly disappears.
Nice intro to (advanced) git :-) If anyone else was curious about the state of bisect in mercurial (it's been in standard mercurial for a while):<p><a href="http://mercurial.selenic.com/wiki/BisectExtension" rel="nofollow">http://mercurial.selenic.com/wiki/BisectExtension</a><p>As for git stash, the closest equivalent appear[1] to be the shelve extension (distributed with mercurial since 2.8, November 2013):<p><a href="http://mercurial.selenic.com/wiki/ShelveExtension" rel="nofollow">http://mercurial.selenic.com/wiki/ShelveExtension</a><p>However, as we'll be needing to do a bit of history editing, we might want to just go straight for the (also bundled with mercurial) queues extension:<p><a href="http://mercurial.selenic.com/wiki/MqExtension" rel="nofollow">http://mercurial.selenic.com/wiki/MqExtension</a><p>Also relevant:<p><a href="http://mercurial.selenic.com/wiki/EditingHistory" rel="nofollow">http://mercurial.selenic.com/wiki/EditingHistory</a>
<a href="http://mercurial.selenic.com/wiki/MqTutorial" rel="nofollow">http://mercurial.selenic.com/wiki/MqTutorial</a><p>I'm a little tempted to redo this for mercurial, just to look at the differences -- but the first order would be to create an actual repo -- say just a file with timestamps and events:<p><pre><code> -479: Artaÿctes crucified
(...)
1973: Wolverine wakes up in random bed
1973: Mystique kills Trask
1973: Mystique's DNA stolen
xx: Last mutant killed by sentinel
</code></pre>
(With every commit appending one or more lines).<p>That way we could use it as a nice way to compare work flows across scms... Who's up for doing RCS?<p>Come to think of it, as the initial series of commits are linear, they could be specified in some linear fashion (yml maybe) -- and then replayed to create the initial "broken" state -- then one would only have to document the "fixing" part for different systems... Another alternative would be to convert (eg via mercurials git/svn plugins -- but I don't think they cover bzr, monotone and rcs...).<p>[1] <a href="http://selenic.com/pipermail/mercurial/2011-December/041164.html" rel="nofollow">http://selenic.com/pipermail/mercurial/2011-December/041164....</a>