From: Uday S Reddy <u.s.reddy@cs.bham.ac.uk>
To: "Stephen J. Turnbull" <stephen@xemacs.org>
Cc: Uday S Reddy <u.s.reddy@cs.bham.ac.uk>,
rms@gnu.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: Locks on the Bzr repository
Date: Tue, 24 Aug 2010 15:05:35 +0100 [thread overview]
Message-ID: <19571.53679.382000.560086@gargle.gargle.HOWL> (raw)
In-Reply-To: <87zkwc5xnr.fsf@uwakimon.sk.tsukuba.ac.jp>
Stephen J. Turnbull writes:
> Not at all. I'm not sure if Eli would do a "one-commit" patch in a
> separate workspace, and then merge, but he's said several times now
> that he uses multiple workspaces, at least for feature branches. It's
> certainly possible to have a "feature branch" for a one-line patch.
> So you put your change in a separate workspace and test it there. You
> merge when you're happy with it. This is nicer with rebase, I admit,
> but it's not impossible without it.
Yes, Eli himself said that he wants simplicity, and he suffers the
delays of immediate push's done by the bound branch as a result of
that. I think most developers here would rather not open up task
branches for small fixes. I think
> There are multiple schools of thought about this. Specifically,
> bisecting on
>
> A1 -- ... -- An
> / \
> 0 1
> \ /
> B1 -- ... -- Bm
>
> vs. bisecting on
>
> 0 = A1 -- ... -- An -- B1 -- ... -- Bm = 1
>
> will indeed identify a particular Bi commit as the source of the
> problem. However, many developers feel that understanding that A1 and
> B1 were both designed in the context of commit 0 is important for
> understanding the evolution of A and B.
Yes, I am better able to understand this view point now as a result of
this debate. Note that Bazaar's presentation of the above merge is:
0 = A1 -- ... -- An .......................1
\ /
\ -- B1 -- ... -- Bm -/
and I had orignally missed the idea that B1 should be thought of
really as a successor to 0 = A1. So, going from An to B1 includes
first a backwards time travel (An -> A1) and going from Bm to 1
includes a fast forward (A1 -> An). Bazaar's presentation makes it
appear as if B1...Bm have been rebased but, in reality, they are
the original commits that are just being stuck in the middle of the
mainline.
If one is doing a bisection to find a problem, one would do it first
on the mainline, find that the fault occurs somewhere between An and
1, and then do a second bisection on B1...Bm. If one is doing this by
hand, it is quite confusing in having to deal with A1 again while
looking through B1...Bm. I would ask, "A1 works ok, but what is B1
adding that is breaking things?" But, oops, B1 is doing something
entirely different!
> This information is lost by
> the rebase. And in fact, it may be that the design of B is cleaner or
> more central to future development, so that you really want to fix A,
> and leave B alone. So bisecting may lead to poor selection of fixes.
I think the loss of information is a myth. Information will be lost
only if the VCS deliberately loses it. There is no reason why the VCS
can't keep track of B1...Bm in terms of patches on A1 as well as
patches on An. You can then rebase it forwards and backwards as often
as you need to, to get the information you want.
Rethinking the issues now, it is becoming clear to me that there are
two independent, but related, issues:
- Storage: You want to store a history that is accurate so that you
can go back to it when you want to.
- Presentation: You want to produce a rebased history for review and
forensic analysis because it is easier to deal with. One might want
to go back to the accurate history if the rebased history doesn't
work.
I notice that Stefan proposed essentially this idea in the bazaar
developers list, and Michael Haggerty has a more elaborate
presentation of the issues here:
http://softwareswirl.blogspot.com/2009/04/truce-in-merge-vs-rebase-war.html
Cheers,
Uday
next prev parent reply other threads:[~2010-08-24 14:05 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 [this message]
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=19571.53679.382000.560086@gargle.gargle.HOWL \
--to=u.s.reddy@cs.bham.ac.uk \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=rms@gnu.org \
--cc=stephen@xemacs.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.