[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Installing changes from branches
From: |
Stefan Monnier |
Subject: |
Installing changes from branches |
Date: |
Fri, 02 Apr 2010 21:05:28 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
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. <address@hidden>
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. <address@hidden>
branch nick: fixes
timestamp: Fri 2010-04-02 11:45:27 +0200
message:
Merge from trunk
------------------------------------------------------------
revno: 99248.1.59
committer: Jan D. <address@hidden>
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. <address@hidden>
branch nick: fixes
timestamp: Thu 2010-04-01 08:50:44 +0200
message:
Merge from trunk
------------------------------------------------------------
revno: 99248.1.57 [merge]
committer: Jan D. <address@hidden>
branch nick: fixes
timestamp: Fri 2010-03-26 08:01:19 +0100
message:
Merge from trunk
------------------------------------------------------------
revno: 99248.1.56 [merge]
committer: Jan D. <address@hidden>
branch nick: fixes
timestamp: Tue 2010-03-23 20:32:31 +0100
message:
Merge from trunk
------------------------------------------------------------
revno: 99248.1.55 [merge]
committer: Jan D. <address@hidden>
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
- Installing changes from branches,
Stefan Monnier <=
- Re: Installing changes from branches, Óscar Fuentes, 2010/04/02
- Re: Installing changes from branches, Eli Zaretskii, 2010/04/03
- Re: Installing changes from branches, Stefan Monnier, 2010/04/03
- Re: Installing changes from branches, Óscar Fuentes, 2010/04/03
- Re: Installing changes from branches, Eli Zaretskii, 2010/04/03
- Re: Installing changes from branches, Óscar Fuentes, 2010/04/03
- Re: Installing changes from branches, Eli Zaretskii, 2010/04/03
Re: Installing changes from branches, Juanma Barranquero, 2010/04/02
Re: Installing changes from branches, Jan Djärv, 2010/04/03