From: Eli Zaretskii <eliz@gnu.org>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: emacs-devel@gnu.org
Subject: Avoiding slowdown in trunk development (was: gnulib strftime imported into Emacs)
Date: Tue, 01 Feb 2011 03:58:06 -0500 [thread overview]
Message-ID: <E1PkC3q-0000Ng-2n@fencepost.gnu.org> (raw)
In-Reply-To: <4D47B17C.6080201@cs.ucla.edu> (message from Paul Eggert on Mon, 31 Jan 2011 23:08:44 -0800)
> Date: Mon, 31 Jan 2011 23:08:44 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
> CC: emacs-devel@gnu.org
>
> On 01/31/2011 08:05 PM, Eli Zaretskii wrote:
>
> > I understand that this is because you don't actually build on your
> > feature branches, but instead merge onto the trunk first, and build
> > there.
>
> No, I never build on my copy of the trunk. I use that copy only to
> install already-tested new source code and immediately commit the
> result to Savannah
In that case, I really don't see how waiting for corresponding Windows
changes could slow you down. A couple of possible workflows come to
mind:
. Continue working in the same branch where you developed the
changeset that is waiting. When the Windows changes are ready, you
can merge onto the trunk only that one changeset (using the -r
option to "bzr merge").
. Start a new branch for further work, based on either the trunk or
the branch you just worked on, and whose latest changeset awaits
the commit. Branching is pretty cheap with bzr, because it's a
local operation. Last time I tried, it took about 20 sec on a
reasonably fast GNU/Linux system, plus a couple of minutes to
bootstrap the tree (you could avoid the bootstrap by just copying
over all the *.elc files). With this workflow, you will be able to
merge each feature independently.
These are just the simplest possibilities (and I'm quite sure you are
already familiar with them).
So I really don't see what worries you.
The only real delay is in delivering the new feature to the trunk.
But I don't see how a couple of days of delay could possibly be of any
practical importance; do you? There are many other projects with more
disciplined commit policies, where e.g. a commit requires an a-priori
approval; surely it doesn't mean those projects are unduly slowing
down their development?
> if that commit fails due to a nearly-simultaneous
> trunk commit by someone else, I typically just revert my copy of the
> trunk and start over.
I hope by "revert" you meant "bzr up", not "bzr revert". The short
time window for the kind of race condition that could happen in this
situation will rarely cause changes in parts that are related to your
changes. So reverting is not needed. Bazaar (as other dVCSs) is very
good at merging, so conflicts are rare even if the changes overlap.
> The Windows port should not require mainline developers
> to spend significant chunks of their time.
How is this different from spending time on fixing problems of other
proprietary platforms, e.g. Solaris?
Please also note that in Emacs, most of the development happens in
platform-independent and device-independent parts, so people who track
the development trunk are not used to breakage that affects a single
platform. That is one reason for the annoyances you saw last week.
> Anyway, as I've said before, I'm hoping that this is
> not necessary, and that we don't need to use separate branches
> to support Microsoft ports.
Same here.
next prev parent reply other threads:[~2011-02-01 8:58 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-30 23:43 gnulib strftime imported into Emacs Paul Eggert
2011-01-31 4:00 ` Eli Zaretskii
2011-01-31 8:02 ` Paul Eggert
2011-01-31 9:44 ` joakim
2011-01-31 9:59 ` Miles Bader
2011-01-31 10:16 ` joakim
2011-01-31 10:31 ` Miles Bader
2011-01-31 11:27 ` Eli Zaretskii
2011-01-31 11:06 ` Eli Zaretskii
2011-01-31 14:30 ` Tom Tromey
2011-01-31 14:43 ` Eli Zaretskii
2011-01-31 19:49 ` Eli Zaretskii
2011-01-31 22:19 ` Paul Eggert
2011-01-31 22:29 ` Lennart Borgman
2011-01-31 23:57 ` Paul Eggert
2011-02-01 0:15 ` Lennart Borgman
2011-02-01 0:24 ` Paul Eggert
2011-02-01 0:34 ` Lennart Borgman
2011-02-01 4:05 ` Eli Zaretskii
2011-02-01 7:08 ` Paul Eggert
2011-02-01 8:58 ` Eli Zaretskii [this message]
2011-02-01 19:04 ` Avoiding slowdown in trunk development Paul Eggert
2011-02-01 19:54 ` Lennart Borgman
2011-02-01 19:57 ` Eli Zaretskii
2011-02-02 16:52 ` Chong Yidong
2011-01-31 11:17 ` gnulib strftime imported into Emacs Lennart Borgman
2011-01-31 11:37 ` Eli Zaretskii
2011-01-31 11:52 ` Lennart Borgman
2011-01-31 13:01 ` Eli Zaretskii
2011-01-31 13:17 ` Andreas Schwab
2011-01-31 14:44 ` Eli Zaretskii
2011-01-31 14:54 ` Andreas Schwab
2011-01-31 15:14 ` Eli Zaretskii
2011-01-31 13:18 ` Lennart Borgman
2011-01-31 14:45 ` Eli Zaretskii
2011-01-31 19:50 ` Eli Zaretskii
2011-01-31 11:32 ` Andy Moreton
2011-01-31 19:53 ` Eli Zaretskii
2011-01-31 14:56 ` Eli Zaretskii
2011-01-31 16:56 ` Stefan Monnier
2011-01-31 20:06 ` Eli Zaretskii
2011-01-31 20:42 ` Stefan Monnier
2011-01-31 19:54 ` Eli Zaretskii
2011-01-31 23:25 ` Paul Eggert
2011-02-01 4:07 ` Eli Zaretskii
2011-02-01 6:25 ` Paul Eggert
2011-02-01 8:32 ` Eli Zaretskii
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=E1PkC3q-0000Ng-2n@fencepost.gnu.org \
--to=eliz@gnu.org \
--cc=eggert@cs.ucla.edu \
--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.