aboutsummaryrefslogtreecommitdiffstats
path: root/admin/notes
diff options
context:
space:
mode:
authorBill Wohler2013-02-18 10:11:43 -0800
committerBill Wohler2013-02-18 10:11:43 -0800
commit21733e4f154f8830fa568a347a0d6dbd59793c2b (patch)
tree3170dbbcdfafeb42f6c381d6b80b251e9f31b788 /admin/notes
parent6d14beddb06b5ae86f9dd770a1661ebd24846f28 (diff)
parent587feed443522f738b65b57b22a31cc8a25525c5 (diff)
downloademacs-21733e4f154f8830fa568a347a0d6dbd59793c2b.tar.gz
emacs-21733e4f154f8830fa568a347a0d6dbd59793c2b.zip
Merge from trunk; up to 2013-02-18T01:30:27Z!monnier@iro.umontreal.ca.
Diffstat (limited to 'admin/notes')
-rw-r--r--admin/notes/bzr114
-rw-r--r--admin/notes/copyright2
-rw-r--r--admin/notes/font-backend2
-rw-r--r--admin/notes/lel-TODO2
-rw-r--r--admin/notes/multi-tty2
-rw-r--r--admin/notes/unicode2
6 files changed, 119 insertions, 5 deletions
diff --git a/admin/notes/bzr b/admin/notes/bzr
index 50eaf3710ee..f35ff95f9d6 100644
--- a/admin/notes/bzr
+++ b/admin/notes/bzr
@@ -182,6 +182,71 @@ where revision N+1 is the one where file was removed.
182You could also try `bzr add --file-ids-from', if you have a copy of 182You could also try `bzr add --file-ids-from', if you have a copy of
183another branch where file still exists. 183another branch where file still exists.
184 184
185* Undoing a commit (uncommitting)
186
187It is possible to undo/remove a bzr commit (ie, to uncommit).
188Only do this if you really, really, need to. For example, if you
189somehow made a commit that triggers a bug in bzr itself.
190Don't do it because you made a typo in a commit or the log.
191
192If you do need to do this, do it as soon as possible, because the
193longer you leave it, the more work is involved.
194
1950. First, tell emacs-devel that you are going to do this, and suggest
196people not commit anything to the affected branch for the duration.
197
198In the following, replace USER with your Savannah username, and
199BRANCH with the name of the branch.
200Let's assume that revno 100 is the bad commit, and that there have
201been two more commits after that (because nothing is ever easy).
202
2031. Ensure your copy of the branch is up-to-date (for a bound
204branch, bzr up; for an unbound branch, bzr pull) and has no local
205changes (bzr st).
206
2072. Make a record of the commits you are going to undo:
208bzr diff -c 102 > /tmp/102.diff
209etc
210
211Also record the commit message, author, and any --fixes information.
212
2133. Most Emacs branches are set up to prevent just this kind of thing.
214So we need to disable that protection:
215
216bzr config append_revisions_only=False \
217 -d bzr+ssh://USER@bzr.savannah.gnu.org/emacs/BRANCH/
218
2194. Undo the commits:
220bzr uncommit -r -4
221
222This will show the commits it is going to undo, and prompt you to confirm.
223
2245. If using an unbound branch:
225bzr push --overwrite
226
2276. Now, replay the commits you just undid (obviously, fix whatever it
228was in the bad commit that caused the problem):
229
230patch -p0 < /tmp/100.diff
231bzr commit --author ... --fixes ... -F /tmp/100.log
232etc
233
2347. If using an unbound branch:
235bzr push
236
2378. Finally, re-enable the branch protection:
238bzr config append_revisions_only=True \
239 -d bzr+ssh://USER@bzr.savannah.gnu.org/emacs/BRANCH/
240
2419. Tell emacs-devel that it is ok to use the branch again.
242Anyone with local changes should back them up before doing anything.
243
244For a bound branch, bzr up will convert any of the undone commits to a
245pending merge. Just bzr revert these away.
246
247For an unbound branch, bzr pull will complain about diverged branches
248and refuse to do anything. Use bzr pull --overwrite.
249
185* Loggerhead 250* Loggerhead
186 251
187Loggerhead is the bzr tool for viewing a repository over http (similar 252Loggerhead is the bzr tool for viewing a repository over http (similar
@@ -202,3 +267,52 @@ For example, on RHEL6 I needed:
202 yum --enablerepo=epel install python-simpletal 267 yum --enablerepo=epel install python-simpletal
203 268
204Then point your web-browser to http://127.0.0.1:8080/ . 269Then point your web-browser to http://127.0.0.1:8080/ .
270
271* Bisecting
272
273This is a semi-automated way to find the revision that introduced a bug.
274
275First, get the bzr bisect plugin if you do not have it already:
276
277 cd ~/.bazaar/plugins
278 bzr branch lp:bzr-bisect bisect
279
280`bzr help bisect' should work now.
281
282It's probably simplest to make a new copy of the branch to work in
283from this point onwards.
284
285Identify the last known "good" revision where the relevant issue is
286NOT present (e.g. maybe Emacs 24.1). Let's say this is revision 1000.
287
288 bzr bisect start
289 bzr bisect no -r 1000
290
291At this point, bzr will switch to the mid-point of revision 1000 and
292the current revision. If you know that the issue was definitely
293present in some specific revision (say 2000), you can use:
294
295 bzr bisect yes -r 2000
296
297Now bzr switches to revision 1500.
298
299Now test whether the issue is present. You might need to rebuild
300Emacs to do this, or if you know the problem is in a specific Lisp
301file, you might be able to get away with just loading that one file in
302current Emacs.
303
304If the issue is present, use
305
306 bzr bisect yes
307
308If it is not, use
309
310 bzr bisect no
311
312Repeat until you zero-in on the specific revision.
313
314When finished, use
315
316 bzr bisect reset
317
318or simply delete the entire branch if you created it just for this.
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 @@
1Copyright (C) 2007-2012 Free Software Foundation, Inc. 1Copyright (C) 2007-2013 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See the end of the file for license conditions.
3 3
4 4
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 @@
1Copyright (C) 2002-2012 Free Software Foundation, Inc. 1Copyright (C) 2002-2013 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See the end of the file for license conditions.
3 3
4 4
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 @@
1Some lisp/emacs-lisp/ Features and Where They Are Documented 1Some lisp/emacs-lisp/ Features and Where They Are Documented
2 2
3Copyright (C) 2007-2012 Free Software Foundation, Inc. 3Copyright (C) 2007-2013 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6 6
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 @@
1-*- coding: utf-8; mode: text; -*- 1-*- coding: utf-8; mode: text; -*-
2 2
3Copyright (C) 2007-2012 Free Software Foundation, Inc. 3Copyright (C) 2007-2013 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6From README.multi-tty in the multi-tty branch. 6From 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 @@
1 -*-mode: text; coding: latin-1;-*- 1 -*-mode: text; coding: latin-1;-*-
2 2
3Copyright (C) 2002-2012 Free Software Foundation, Inc. 3Copyright (C) 2002-2013 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6Problems, fixmes and other unicode-related issues 6Problems, fixmes and other unicode-related issues