Added interfaces/README with commit-deletion notes.
authorW. Trevor King <wking@drexel.edu>
Sun, 19 Jul 2009 13:59:41 +0000 (09:59 -0400)
committerW. Trevor King <wking@drexel.edu>
Sun, 19 Jul 2009 13:59:41 +0000 (09:59 -0400)
Up to now, my email interface never committed automatically, in order
to avoid locking in inappropriate changes.  However, with the ability
to modify bug status, etc., it could be hard to determine the correct
status with a single email's effects removed.  In order to make that
easier, I'm switching over to a "auto-commit after every user action"
model, and I've looked up the incantations for commit deletion for bzr
and git (the VCSs I use).  These incantations are recorded in
interfaces/README.

Next up: add auto-commit functionality.

interfaces/README [new file with mode: 0644]

diff --git a/interfaces/README b/interfaces/README
new file mode 100644 (file)
index 0000000..3eb4204
--- /dev/null
@@ -0,0 +1,16 @@
+Note for public interfaces that commit after every change:
+
+In the case that some spam or inappropriate comment makes its way
+through you interface, you can remove the offending commit XYZ with:
+  If the offending commit is the last commit:
+    bzr: bzr uncommit && bzr revert
+    git: git reset --hard HEAD^
+    other VCSs?
+  If the offending commit is not the last commit:
+    bzr: bzr rebase -r <XYZ+1>..-1 --onto before:XYZ .
+      (requires bzr-rebase plugin, note, you have to increment XYZ by
+      hand for <XYZ+1>, because bzr does not support "after:XYZ".)
+    git: git rebase --onto XYZ~1 XYZ
+    other VCSs?
+Note that all of these _change_the_repo_history_, so only do this on
+your interface-specific repo before it interacts with any other repo.