[Chandler-dev] undoing repository commits

Andi Vajda vajda at osafoundation.org
Wed Jul 19 11:48:41 PDT 2006

In revision 11205, I added support for undoing the latest commits done in a 
repository. This is currently an experimental feature that is best triggered 
by the --undo <toVersion> option at startup time.

Look in chandler.log, to get the version number to undo to.
To know where chandler.log is see [1].

Maybe Bryan could add another option to the Ctrl startup dialog that calls 
repository.undo(toVersion) ? (Bryan, if you intend to do this, let me know)

Undoing to a version allows to get rid of versions that are corrupt due to 
bugs, such as indexes getting out of whack, for example (still working on 
that). Getting rid of the latest version(s) committed in a repository helps it 
to get back to a sane state where check() passes. It is a good alternative to 
throwing out a repository completely and starting from scratch.

This new feature raises the topic of commit() comments. If we supported 
commit() comments then instead of specifying a repository version to undo to a 
comment could be specified instead. For an obvious example:
     rc --undo 'last sync'

I can easily add commit() comment support if you think this would be useful.

Changes that are undone are deleted from the repository, they cannot be 
redone. In other words, undo cannot be undone.


[1] http://wiki.osafoundation.org/twiki/bin/view/Projects/ProfileDirectory

More information about the chandler-dev mailing list