From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: u.s.reddy@cs.bham.ac.uk, emacs-devel@gnu.org
Subject: Re: Locks on the Bzr repository
Date: Sun, 22 Aug 2010 16:36:20 +0900 [thread overview]
Message-ID: <87r5hr6qvf.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <83pqxboi38.fsf@gnu.org>
Eli Zaretskii writes:
> > From: "Stephen J. Turnbull" <stephen@xemacs.org>
> > Cc: Uday S Reddy <u.s.reddy@cs.bham.ac.uk>,
> > emacs-devel@gnu.org
> > Date: Sun, 22 Aug 2010 03:59:10 +0900
> >
> > > For the first kind, it is IMO not very good to have the
> > > changes uncommitted upstream for prolonged periods of time,
> >
> > What's your definition of "prolonged"?
>
> Never thought about quantifying that. It seems like a moot point
> anyway, since there's a request not to lump unrelated changes in
> the same commit.
It's not a moot point because
> I could use "ci --local", but that would cause my changes appear on
> a branch when I finally commit upstream, and require the -n0 switch
> to "bzr log", so I try to avoid that.
isn't a problem if you rebase. There's a small race (about 10 minutes
for me on XEmacs with a make; make check[1]) where somebody might commit
while you're rebasing, which would cause push/bound-commit to fail,
but you get a fast-forward (commits all on mainline) when the push
succeeds. And it will usually succeed.
> > I'm thinking in terms of simply committing all changes locally
> > until the end of the work session, then doing the merge to mirror
> > and push to upstream in a batch at the end of the session.
>
> That'd be against the "not lumping together unrelated changes"
> request.
Why do you think that? Separate commits are separate commits. They
are recorded as separate commits in upstream when you push.
> > How frequently do you commit?
>
> Very frequently, see above.
Heh. Given that for you each commit goes upstream, that's frequent.
But with git I've used workflows that substitute commits for
autosaves. That's what I think of as "very frequent".
> > How finely do you divide changesets?
>
> Each changeset deals with a separate feature or bug-fix. That is
> how I understand the rules.
That's what I thought, and
> > I will often make 5 to 10 commits in a session when I'm working
> > on minor bugs.
>
> Same here, although it's more close to 5 than to 10.
so your workflow in this respect is roughly similar to my own (ie, the
rate of mainline commits is the same, although I tend to break up
anything that involves more than five minutes work into multiple
commits on a branch, in both git and hg). Ten is unusual for me, but
not so unusual (especially when I'm wearing my RM hat) that I can
afford to ignore the possibility that I'll want to do ten commits and
end up spending 30 minutes minimum waiting for the server. That's
like 20% of my typical session, and if any of those commits really
hangs I could end up wasting half the session.
> > I really would not like it if I had to wait even one minute for a
> > commit of a typo fix.
> Well, you cannot make a changeset of a typo fix with anything else,
> unless it's another typo. The problem is that one rarely finds
> many typos in one go, except by luck. So yes, I need to wait
> before the next commit. I do other things, like reading mail or
> work on some other problem in the meantime.
Right. Context switches are expensive. I'd rather avoid them,
myself. YMMV. The "commit+ pull rebase push" workflow means that all
of my waiting is concentrated on the last three operations, and my
train of thought is never interrupted (because that part of the
workflow is a no-brainer).
> > No, but if you do a typo fix, commit, then find another typo, 50
> > minutes (according to the recent report) is a very long time to
> > wait....
> Well, 50 minutes _is_ long. It's more like 3 to 5 here, which is
> also long, but barely endurable.
You have more endurance than I. I am not willing to put up with that.
> > The recommended workflow (at least as Karl and I wrote it)
> > assumed that "one-commit changes" would be performed in a
> > separate branch, and merged into the mirror (bound branch) in
> > batches.
>
> This would again fly in the face of the "don't lump together..."
> request, AFAIU.
Then there's something you don't understand. What don't you
understand? That this workflow involves committing each of several
conceptual changes separately, then one push (or merge + commit in a
bound branch) to send them all upstream? Or that each commit is a
separate transaction, cherrypickable and logged as such, even after a
pull/push/bound-commit to a different repo? Or something else?
Footnotes:
[1] Not doing the equivalent of "make bootstrap" is a little risky
because we don't have proper dependencies for Lisp ... this matters
mostly for changes to exported APIs not exercised by the build and
test process, or to exported macro internals, both of which are pretty
rare. I consider the level of risk acceptable.
next prev parent reply other threads:[~2010-08-22 7:36 UTC|newest]
Thread overview: 198+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-19 15:40 Locks on the Bzr repository Stefan Monnier
2010-08-19 15:52 ` Andreas Schwab
2010-08-19 16:07 ` Jan Djärv
2010-08-19 16:36 ` Andreas Schwab
2010-08-19 20:06 ` Jan Djärv
2010-08-19 21:49 ` Andreas Schwab
2010-08-20 6:22 ` Jan Djärv
2010-08-20 7:40 ` Andreas Schwab
2010-08-20 8:57 ` Eli Zaretskii
2010-08-20 9:13 ` Andreas Schwab
2010-08-20 9:22 ` Eli Zaretskii
2010-08-20 11:35 ` Andreas Schwab
2010-08-20 12:24 ` Eli Zaretskii
2010-08-20 12:56 ` Óscar Fuentes
2010-08-20 13:29 ` Andreas Schwab
2010-08-20 14:43 ` Eli Zaretskii
2010-08-20 10:15 ` Stephen J. Turnbull
2010-08-20 11:39 ` Andreas Schwab
2010-08-20 12:42 ` Stephen J. Turnbull
2010-08-20 12:23 ` Eli Zaretskii
2010-08-20 12:52 ` Óscar Fuentes
2010-08-20 13:33 ` Andreas Schwab
2010-08-20 14:46 ` Eli Zaretskii
2010-08-20 15:31 ` Andreas Schwab
2010-08-20 13:44 ` Stephen J. Turnbull
2010-08-20 15:19 ` Eli Zaretskii
2010-08-20 22:41 ` Uday S Reddy
2010-08-21 8:36 ` Jan Djärv
2010-08-21 9:08 ` Eli Zaretskii
2010-08-21 10:30 ` Jan Djärv
2010-08-21 10:41 ` Eli Zaretskii
2010-08-21 10:47 ` Jan Djärv
2010-08-21 17:04 ` Thien-Thi Nguyen
2010-08-22 7:39 ` Stephen J. Turnbull
2010-08-23 3:15 ` Thien-Thi Nguyen
2010-08-21 9:38 ` Uday S Reddy
2010-08-21 10:30 ` Eli Zaretskii
2010-08-21 10:37 ` Jan Djärv
2010-08-21 10:56 ` Eli Zaretskii
2010-08-21 12:51 ` Uday S Reddy
2010-08-21 13:02 ` Jan Djärv
2010-08-21 15:36 ` Eli Zaretskii
2010-08-22 7:39 ` Stephen J. Turnbull
2010-08-21 17:10 ` Stephen J. Turnbull
2010-08-21 9:03 ` Eli Zaretskii
2010-08-21 12:31 ` Uday S Reddy
2010-08-21 13:45 ` Óscar Fuentes
2010-08-21 14:56 ` Uday S Reddy
2010-08-21 17:32 ` Óscar Fuentes
2010-08-22 7:45 ` Stephen J. Turnbull
2010-08-21 15:48 ` Eli Zaretskii
2010-08-21 19:10 ` Stephen J. Turnbull
2010-08-21 18:59 ` Stephen J. Turnbull
2010-08-21 19:50 ` Leo
2010-08-21 19:59 ` Eli Zaretskii
2010-08-21 20:17 ` Leo
2010-08-21 20:31 ` Leo
2010-08-22 1:41 ` Tom Tromey
2010-08-22 1:47 ` Leo
2010-08-22 13:47 ` David De La Harpe Golden
2010-08-22 13:53 ` Andreas Schwab
2010-08-22 6:52 ` Stephen J. Turnbull
2010-08-22 7:56 ` Eli Zaretskii
2010-08-22 8:28 ` Stephen J. Turnbull
2010-08-22 8:57 ` Leo
2010-08-22 15:11 ` Eli Zaretskii
2010-08-21 19:56 ` Eli Zaretskii
2010-08-21 21:51 ` Uday S Reddy
2010-08-21 22:38 ` Stefan Monnier
2010-08-22 9:03 ` Uday S Reddy
2010-08-22 9:36 ` Teemu Likonen
2010-08-22 9:44 ` Eli Zaretskii
2010-08-22 11:25 ` Stephen J. Turnbull
2010-08-23 4:24 ` Richard Stallman
2010-08-23 4:54 ` Eli Zaretskii
2010-08-23 7:52 ` Glenn Morris
2010-08-23 13:55 ` Eli Zaretskii
2010-08-24 4:32 ` Richard Stallman
2010-08-24 13:30 ` Karl Fogel
2010-08-24 4:32 ` Richard Stallman
2010-08-23 9:55 ` Stephen J. Turnbull
2010-08-23 4:24 ` Richard Stallman
2010-08-23 5:06 ` Eli Zaretskii
2010-08-23 7:58 ` Uday S Reddy
2010-08-23 10:31 ` Stephen J. Turnbull
2010-08-23 12:41 ` Uday S Reddy
2010-08-24 6:31 ` Stephen J. Turnbull
2010-08-24 12:37 ` Lluís
2010-08-24 13:05 ` Lluís
2010-08-24 13:25 ` Óscar Fuentes
2010-08-24 14:18 ` Stephen J. Turnbull
2010-08-24 15:25 ` Lluís
2010-08-24 14:10 ` Stephen J. Turnbull
2010-08-24 15:02 ` Lluís
2010-08-24 16:59 ` Eli Zaretskii
2010-08-24 21:27 ` Óscar Fuentes
2010-08-24 16:42 ` Uday S Reddy
2010-08-24 17:12 ` Lluís
2010-08-24 18:47 ` Uday S Reddy
2010-08-24 14:05 ` Uday S Reddy
2010-08-24 15:54 ` Stephen J. Turnbull
2010-08-24 16:48 ` Eli Zaretskii
2010-08-25 13:03 ` Richard Stallman
2010-08-25 13:32 ` Juanma Barranquero
2010-08-31 21:33 ` Richard Stallman
2010-09-01 0:30 ` Chong Yidong
2010-09-01 1:44 ` Bernardo Barros
2010-09-01 2:36 ` Miles Bader
2010-09-01 3:07 ` Eli Zaretskii
2010-09-01 6:49 ` Stefan Monnier
2010-09-01 18:17 ` Richard Stallman
2010-09-01 19:10 ` Bastien
2010-09-02 5:22 ` Eli Zaretskii
2010-09-02 6:31 ` Bastien
2010-09-03 1:24 ` Richard Stallman
2010-09-03 8:01 ` Eli Zaretskii
2010-09-03 9:50 ` Bastien
2010-09-03 13:58 ` Karl Fogel
2010-08-25 20:25 ` Uday S Reddy
2010-08-27 15:36 ` Richard Stallman
2010-08-22 7:36 ` Stephen J. Turnbull [this message]
2010-08-22 8:52 ` Eli Zaretskii
2010-08-22 9:21 ` Stephen J. Turnbull
2010-08-22 9:38 ` Eli Zaretskii
2010-08-22 11:14 ` Stephen J. Turnbull
2010-08-22 11:47 ` Eli Zaretskii
2010-08-22 11:13 ` Jan Djärv
2010-08-22 13:13 ` Stephen J. Turnbull
2010-08-22 17:10 ` Jan Djärv
2010-08-21 2:29 ` Stephen J. Turnbull
2010-08-20 16:08 ` bzr smart server [was Re: Locks on the Bzr repository] Glenn Morris
2010-08-20 16:56 ` Lennart Borgman
2010-08-20 17:11 ` Eli Zaretskii
2010-08-20 17:13 ` Lennart Borgman
2010-08-20 17:23 ` Eli Zaretskii
2010-08-20 17:52 ` bzr smart server David Kastrup
2010-08-20 17:12 ` bzr smart server [was Re: Locks on the Bzr repository] Eli Zaretskii
2010-08-20 23:02 ` bzr smart server Stefan Monnier
2010-08-21 8:05 ` Eli Zaretskii
2010-08-21 13:22 ` Óscar Fuentes
2010-08-21 15:31 ` Eli Zaretskii
2010-08-21 17:09 ` Óscar Fuentes
2010-08-21 17:28 ` Eli Zaretskii
2010-08-21 13:46 ` Miles Bader
2010-08-21 15:32 ` Eli Zaretskii
2010-08-21 15:45 ` Miles Bader
2010-08-21 15:51 ` Eli Zaretskii
2010-08-21 17:16 ` Óscar Fuentes
2010-08-21 17:28 ` Jason Rumney
2010-08-21 17:36 ` Eli Zaretskii
2010-08-21 17:40 ` Óscar Fuentes
2010-08-21 14:00 ` Eric Hanchrow
2010-08-21 14:06 ` Lennart Borgman
2010-08-21 14:24 ` Óscar Fuentes
2010-08-21 15:12 ` Lennart Borgman
2010-08-21 17:12 ` Óscar Fuentes
2010-08-22 17:06 ` Richard Stallman
2010-08-20 4:44 ` Locks on the Bzr repository Miles Bader
2010-08-20 4:52 ` Jason Rumney
2010-08-20 6:22 ` Jan Djärv
2010-08-19 16:26 ` Eli Zaretskii
2010-08-19 16:54 ` Andreas Schwab
2010-08-19 16:12 ` Jason Rumney
2010-08-19 16:43 ` Dan Nicolaescu
2010-08-19 16:48 ` Jason Rumney
2010-08-19 17:08 ` Dan Nicolaescu
2010-08-19 17:32 ` Jason Rumney
2010-08-19 16:24 ` Eli Zaretskii
2010-08-19 17:29 ` Jason Rumney
2010-08-19 21:42 ` Stefan Monnier
2010-08-20 9:06 ` Eli Zaretskii
2010-08-21 9:37 ` Stefan Monnier
2010-08-19 16:26 ` Jay Belanger
2010-08-21 20:36 ` bzr send workflow (Was: Locks on the Bzr repository) Bojan Nikolic
2010-08-21 22:05 ` bzr send workflow Stefan Monnier
2010-08-21 22:48 ` Bojan Nikolic
2010-08-22 5:26 ` No ChangeLog's (was: bzr send workflow) Eli Zaretskii
2010-08-22 8:11 ` Stephen J. Turnbull
2010-08-22 8:58 ` Eli Zaretskii
2010-08-22 12:29 ` bzr send workflow Andreas Schwab
2010-08-22 13:14 ` Eli Zaretskii
2010-08-22 14:52 ` Andreas Schwab
2010-08-23 4:24 ` Richard Stallman
2010-08-23 5:11 ` Eli Zaretskii
2010-08-23 5:30 ` Eli Zaretskii
2010-08-24 4:32 ` Richard Stallman
2010-08-25 15:03 ` Andy Wingo
2010-08-25 19:18 ` Juanma Barranquero
2010-08-26 17:11 ` Chong Yidong
2010-08-26 17:26 ` Juanma Barranquero
2010-08-27 5:20 ` Stephen J. Turnbull
2010-08-27 11:27 ` Wojciech Meyer
2010-08-22 7:56 ` bzr send workflow (Was: Locks on the Bzr repository) Stephen J. Turnbull
2010-08-22 11:11 ` Lennart Borgman
2010-08-22 13:44 ` bzr send workflow Miles Bader
2010-08-22 14:40 ` Bojan Nikolic
2010-08-23 4:14 ` Stephen J. Turnbull
2010-08-23 5:33 ` 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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87r5hr6qvf.fsf@uwakimon.sk.tsukuba.ac.jp \
--to=stephen@xemacs.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=u.s.reddy@cs.bham.ac.uk \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).