diff options
Diffstat (limited to 'admin/notes')
| -rw-r--r-- | admin/notes/bzr | 65 | ||||
| -rw-r--r-- | admin/notes/copyright | 2 | ||||
| -rw-r--r-- | admin/notes/font-backend | 2 | ||||
| -rw-r--r-- | admin/notes/lel-TODO | 2 | ||||
| -rw-r--r-- | admin/notes/multi-tty | 2 | ||||
| -rw-r--r-- | admin/notes/unicode | 2 |
6 files changed, 70 insertions, 5 deletions
diff --git a/admin/notes/bzr b/admin/notes/bzr index 50eaf3710ee..cdcfa7e7e3d 100644 --- a/admin/notes/bzr +++ b/admin/notes/bzr @@ -182,6 +182,71 @@ where revision N+1 is the one where file was removed. You could also try `bzr add --file-ids-from', if you have a copy of another branch where file still exists. +* Undoing a commit (uncommitting) + +It is possible to undo/remove a bzr commit (ie, to uncommit). +Only do this if you really, really, need to. For example, if you +somehow made a commit that triggers a bug in bzr itself. +Don't do it because you made a typo in a commit or the log. + +If you do need to do this, do it as soon as possible, because the +longer you leave it, the more work is involved. + +0. First, tell emacs-devel that you are going to do this, and suggest +people not commit anything to the affected branch for the duration. + +In the following, replace USER with your Savannah username, and +BRANCH with the name of the branch. +Let's assume that revno 100 is the bad commit, and that there have +been two more commits after that (because nothing is ever easy). + +1. Ensure your copy of the branch is up-to-date (for a bound +branch, bzr up; for an unbound branch, bzr pull) and has no local +changes (bzr st). + +2. Make a record of the commits you are going to undo: +bzr diff -c 102 > /tmp/102.diff +etc + +Also record the commit message, author, and any --fixes information. + +3. Most Emacs branches are set up to prevent just this kind of thing. +So we need to disable that protection: + +bzr config append_revisions_only=False \ + -d bzr+ssh://USER@bzr.savannah.gnu.org/emacs/BRANCH/ + +4. Undo the commits: +bzr uncommit -r -4 + +This will show the commits it is going to undo, and prompt you to confirm. + +5. If using an unbound branch: +bzr push --overwrite + +6. Now, replay the commits you just undid (obviously, fix whatever it +was in the bad commit that caused the problem): + +patch -p0 < /tmp/100.diff +bzr commit --author ... --fixes ... -F /tmp/100.log +etc + +7. If using an unbound branch: +bzr push + +8. Finally, re-enable the branch protection: +bzr config append_revisions_only=True \ + -d bzr+ssh://USER@bzr.savannah.gnu.org/emacs/BRANCH/ + +9. Tell emacs-devel that it is ok to use the branch again. +Anyone with local changes should back them up before doing anything. + +For a bound branch, bzr up will convert any of the undone commits to a +pending merge. Just bzr revert these away. + +For an unbound branch, bzr pull will complain about diverged branches +and refuse to do anything. Use bzr pull --overwrite. + * Loggerhead Loggerhead is the bzr tool for viewing a repository over http (similar diff --git a/admin/notes/copyright b/admin/notes/copyright index 173ff83343a..3a404b69678 100644 --- a/admin/notes/copyright +++ b/admin/notes/copyright @@ -1,4 +1,4 @@ -Copyright (C) 2007-2012 Free Software Foundation, Inc. +Copyright (C) 2007-2013 Free Software Foundation, Inc. See the end of the file for license conditions. diff --git a/admin/notes/font-backend b/admin/notes/font-backend index ec2dc11345b..cdf2001580d 100644 --- a/admin/notes/font-backend +++ b/admin/notes/font-backend @@ -1,4 +1,4 @@ -Copyright (C) 2002-2012 Free Software Foundation, Inc. +Copyright (C) 2002-2013 Free Software Foundation, Inc. See the end of the file for license conditions. diff --git a/admin/notes/lel-TODO b/admin/notes/lel-TODO index 139aa09e919..2c6d86a4ffd 100644 --- a/admin/notes/lel-TODO +++ b/admin/notes/lel-TODO @@ -1,6 +1,6 @@ Some lisp/emacs-lisp/ Features and Where They Are Documented -Copyright (C) 2007-2012 Free Software Foundation, Inc. +Copyright (C) 2007-2013 Free Software Foundation, Inc. See the end of the file for license conditions. diff --git a/admin/notes/multi-tty b/admin/notes/multi-tty index 5408b9a3d00..c4edd3abc93 100644 --- a/admin/notes/multi-tty +++ b/admin/notes/multi-tty @@ -1,6 +1,6 @@ -*- coding: utf-8; mode: text; -*- -Copyright (C) 2007-2012 Free Software Foundation, Inc. +Copyright (C) 2007-2013 Free Software Foundation, Inc. See the end of the file for license conditions. From README.multi-tty in the multi-tty branch. diff --git a/admin/notes/unicode b/admin/notes/unicode index dda6ec4cc93..21704c78a00 100644 --- a/admin/notes/unicode +++ b/admin/notes/unicode @@ -1,6 +1,6 @@ -*-mode: text; coding: latin-1;-*- -Copyright (C) 2002-2012 Free Software Foundation, Inc. +Copyright (C) 2002-2013 Free Software Foundation, Inc. See the end of the file for license conditions. Problems, fixmes and other unicode-related issues |
