all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: jan.h.d@swipnet.se, schwab@linux-m68k.org,
	monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: Locks on the Bzr repository
Date: Fri, 20 Aug 2010 22:44:28 +0900	[thread overview]
Message-ID: <871v9t8klf.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <83tymppj62.fsf@gnu.org>

Eli Zaretskii writes:

 > If I ever only "bzr merge" from the remote repository, won't my
 > pushes to it cause my local commits appear on a branch, and the
 > point of push appear as a merge to mainline?  If so, that's what I
 > meant.

Sure.  So don't do that.  One (probably for values of "one" != "eliz")
can pull instead, and rebase when necessary to get that to succeed.
Or one can use a separate branch for each task.  There are lots of
strategies; you don't have to use them if you don't want to.  But some
people would rather spend 5 minutes fiddling with a rebase once a week
(which can be done at your convenience) or so than ever spend 50
minutes waiting for a commit to finish (which blocks you from doing
any other commit, if you depend on lightweight checkouts from
upstream).

 > With the rate of commits to the Emacs repository, the chances that
 > someone "sneaks in a commit before you start your push" are 100%.

That's an exaggeration.  It might be quite high, but if it's really
that high that pushes never succeed, any integration where developers
decided asynchronously when to commit to the public repo (including
both push and commits in bound branches) is going to run into problems.

 > We have committers in all time zones, so there's no time that you
 > are safe.

That depends on one's definition of safe.  My definition of safe is
"my commit is safely in a repository with a known relationship to the
upstream", I can commit any time the fit takes me, and I can push when
I feel like dealing with the costs of cooperation like merge
conflicts.

 > > but I would imagine you normally need less locking and a lot less
 > > time if the push succeeds.

 > This needs testing and measuring; I won't believe it until I
 > actually see it.  The time to push is still governed by network
 > traffic, which takes most of the time, about 90%, of a commit as
 > well.

Not if you count *time developer is blocked* instead of *time from
start of operation to end of operation*.  Push is asynchronous; with a
DVCS you don't even need to care if it succeeds, you just work on
another branch.  If it succeeded, you're done.  If not, you make
adjustments and try again later, at your convenience.  (What those
adjustments are depends on the exact workflow.)

 > And even if it is true that this is faster, what you describe hints
 > on a much more complex workflow that needs a much more diligent
 > user who knows much more about bzr than most contributors.

Sure.  So what?  I don't need to defend a deprecation of "checkout
--lightweight".  I don't like it, but I haven't ever suggested that it
be forbidden.  *You* need to defend your deprecation of "push."

 > Any blunder there, and you need to work much harder and at least
 > partially by hand to restore the situation where your branch is "a
 > superset of the remote repo's history".  So this workflow still has
 > disadvantages,

All workflows have disadvantages.  Big deal.  That's not a reason for
a general deprecation of "bzr push".

 > > It's true that if you only ever use bound branches, all your
 > > commits must end up on the mainline, and that may be the best
 > > strategy for some people.  But other people like to commit more
 > > frequently and/or offline.

 > Me too, but having a separate local branch and merging locally with
 > a bound branch has all the advantages of the frequent fast commits,
 > and only one disadvantage -- the commits appear on a branch (unless
 > I rebase).

No, it has another disadvantage, which is that you can hang up on
concurrent commits by other developers, just as with the push
strategy.  Perhaps it's a little less apparent work because you're
only blocked on merges with conflicts, but once again you're blocked
until your commit succeeds.

It's also somewhat dangerous to just merge everything; a diligent
developer should treat a merge in such case as "my commit needs review
in the new context before committing", really, and what you're doing
is short-circuiting that process.  (Linus famously flamed Dave Miller
for this.)  Any merge (which includes rebasing, which is what davem
was doing) implies your code is now untested until you rerun the
tests.  So if you merge into a bound branch, you're automating commits
of untested code to the public repo.  That may be OK with you (after
all, the test results are only a little bit stale, they're probably
not growing mold and mushrooms yet), but that is what you're doing.

I don't expect this to change your mind about *your* workflows.  But
there are good arguments for other workflows, there are definite
weaknesses in the ones you like as well, and I don't think it's a good
idea to deprecate push-based workflows for those who want to use them.



  parent reply	other threads:[~2010-08-20 13:44 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 [this message]
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
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

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

  git send-email \
    --in-reply-to=871v9t8klf.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=jan.h.d@swipnet.se \
    --cc=monnier@iro.umontreal.ca \
    --cc=schwab@linux-m68k.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.