all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: emacs-devel@gnu.org
Subject: Installing changes from branches
Date: Fri, 02 Apr 2010 21:05:28 -0400	[thread overview]
Message-ID: <jwvoci15pb1.fsf-monnier+emacs@gnu.org> (raw)

I noticed recently that some people install small changes
from "quickfix branches" by something like:

  cd .../trunk
  bzr merge .../quickfix
  bzr commit ...

This is fine if the quickfix has only a single commit or OTOH is a long
running branch with many different real commits.  But not if the branch
has barely more than 1 real commit plus various "merge from trunk".
E.g.:

   revno: 99807 [merge]
   committer: Jan D. <jan.h.d@swipnet.se>
   branch nick: trunk
   timestamp: Fri 2010-04-02 11:46:07 +0200
   message:
     * tmm.el (tmm-get-keymap): Check with symbolp before passing value to fboundp.
       ------------------------------------------------------------
       revno: 99248.1.60 [merge]
       committer: Jan D. <jan.h.d@swipnet.se>
       branch nick: fixes
       timestamp: Fri 2010-04-02 11:45:27 +0200
       message:
         Merge from trunk
       ------------------------------------------------------------
       revno: 99248.1.59
       committer: Jan D. <jan.h.d@swipnet.se>
       branch nick: fixes
       timestamp: Fri 2010-04-02 11:44:50 +0200
       message:
         tmm.el (tmm-get-keymap): Check with symbolp before passing
         value to fboundp, it may not be a symbol.
       ------------------------------------------------------------
       revno: 99248.1.58 [merge]
       committer: Jan D. <jan.h.d@swipnet.se>
       branch nick: fixes
       timestamp: Thu 2010-04-01 08:50:44 +0200
       message:
         Merge from trunk
       ------------------------------------------------------------
       revno: 99248.1.57 [merge]
       committer: Jan D. <jan.h.d@swipnet.se>
       branch nick: fixes
       timestamp: Fri 2010-03-26 08:01:19 +0100
       message:
         Merge from trunk
       ------------------------------------------------------------
       revno: 99248.1.56 [merge]
       committer: Jan D. <jan.h.d@swipnet.se>
       branch nick: fixes
       timestamp: Tue 2010-03-23 20:32:31 +0100
       message:
         Merge from trunk
       ------------------------------------------------------------
       revno: 99248.1.55 [merge]
       committer: Jan D. <jan.h.d@swipnet.se>
       branch nick: fixes
       timestamp: Tue 2010-03-23 08:04:35 +0100
       message:
         Merge from trunk

[ Please Jan, don't take it personally, it's just an example. ]
For such changes, it's a lot better to just take the diff from the
branch, apply to the trunk and commit, so it appears as a single commit.
Yes, it loses the history, but that's a good thing.  Those "merge from
trunk" are just personal history that are just noise.  Especially since
some people call them "Merge from trunk" others "Merge from mainline"
etc...

A better way is probably to keep such quickfix branches out-of-date
(i.e. never do a "merge from trunk" in them), so the "update to trunk"
is then done when you do "bzr merge .../quickfix".  Or to use "bzr
rebase" instead.

Another very good solution is to not use quickfix branches at all, but
use shelves instead.  I.e. write your fix "on the trunk" but instead of
committing it, just do "bzr shelve -m 'fix for foo'".
Then when you're ready to install the fix just unshelve the fix and
commit it.


        Stefan






             reply	other threads:[~2010-04-03  1:05 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-03  1:05 Stefan Monnier [this message]
2010-04-03  1:37 ` Installing changes from branches Óscar Fuentes
2010-04-03  7:08   ` Eli Zaretskii
2010-04-03 13:56     ` Stefan Monnier
2010-04-03 14:19     ` Óscar Fuentes
2010-04-03 15:08       ` Eli Zaretskii
2010-04-03 15:14         ` Óscar Fuentes
2010-04-03 15:54           ` Eli Zaretskii
2010-04-03  2:26 ` Juanma Barranquero
2010-04-03  8:56 ` Jan Djärv
2010-04-03  9:17   ` Stephen J. Turnbull
2010-04-03 14:08   ` Stefan Monnier
2010-04-03 14:30     ` Óscar Fuentes
2010-04-03 15:18     ` Jan Djärv
2010-04-03 15:41       ` Óscar Fuentes
2010-04-03 16:29         ` Eli Zaretskii
2010-04-03 16:49           ` Eli Zaretskii
2010-04-03 16:56             ` Óscar Fuentes
2010-04-03 20:53               ` Eli Zaretskii
2010-04-03 21:13                 ` Óscar Fuentes
2010-04-03 19:14             ` Stefan Monnier
2010-04-03 19:31               ` Juanma Barranquero
2010-04-03 20:47                 ` Eli Zaretskii
2010-04-03 22:57                   ` Juri Linkov
2010-04-04  6:33                     ` Eli Zaretskii
2010-04-04 11:03                       ` Juri Linkov
2010-04-04 14:16                       ` Stefan Monnier
2010-04-04 14:18                 ` Stefan Monnier
2010-04-04 14:57                   ` Eli Zaretskii
2010-04-05 14:02                     ` Stefan Monnier
2010-04-04 14:58                   ` Juanma Barranquero

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvoci15pb1.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.