From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org, miles@gnu.org
Subject: Re: base
Date: Sun, 29 Aug 2010 01:25:45 +0900 [thread overview]
Message-ID: <87iq2u4sc6.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <838w3smacr.fsf@gnu.org>
Eli Zaretskii writes:
> No, I meant use-cases that are of interest to ordinary users, as
> opposed to technicians.
Sure, but what about the case of "I want this feature, but no other
crap"? Why wouldn't that be of interest to an ordinary user? In git,
that's simple to express:
git rebase --onto my-branch feature-parent feature-branch
You do need to know which branch is feature-parent, but gitk will tell
you that with "gitk --all". You only need to be able to see the green
tags in gitk, and trace your branch of interest back to its node and
up again to a tag (and any such tag will do -- although it requires
some understanding of DAGs to know *why*, this means it's hard for a
naive user to make a mistake here). So doing this is not beyond an
ambitious but non-technical user at all. *Explaining how* to do it,
though, requires some knowledge.
The point of this whole subthread is that the git model makes this
easy (for the technician) to think about. It is not easy to think
about this in bzr, and harder to implement. You wave your hands and
say "I'm sure it can be done with merge". Well, I'm pretty sure too,
but I'm also sure I'd have to ask Robert Collins to tell me how.
> Why bother [with colocated branches], if you can easily branch and
> work in a separate tree?
Because I *don't like* working in a separate tree for *some* purposes,
although I readily create separate workspaces (in git) for others.
Why should power users have to put up with these limitations?
> And I don't see any reason to "understand the DAG", either. What's
> to understand, anyway?
It's not a big deal to "understand the DAG," of course. You can just
see it with the appropriate tool (and all VCSes supply such a tool).
What's useful is to understand how user-level concepts like "features"
map to the DAG, and how your VCS can manipulate DAG parts that (may or
may not) correspond to user-level features.
> I know what a DAG is, and I think I have some idea what "bzr merge"
> does to a history.
Oh? Suppose that branch foo has 4 revisions and branch bar has only
the first one. Now do "bzr merge -r2..4 ../foo; bzr commit -m merge"
in branch bar. What does "bzr log -n0" show? I was surprised (and
disappointed, although I understand why it happened once I saw the
result).
#! /bin/bash
pushd /tmp; mkdir test; cd test
mkdir foo; cd foo; bzr init
addfile () { echo $1 > $1; bzr add $1; bzr commit -m "add $1"; }
addfile foo
bzr branch . ../bar
addfile bar
addfile baz
addfile quux
cd ../bar
bzr merge -r2..4 ../foo; bzr commit -m merge
bzr log -n0
Did you predict the output correctly?
next prev parent reply other threads:[~2010-08-28 16:25 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-22 12:06 base Alan Mackenzie
2010-08-22 12:20 ` base Eli Zaretskii
2010-08-22 13:01 ` base Alan Mackenzie
2010-08-22 12:50 ` base Teemu Likonen
2010-08-22 13:20 ` base Eli Zaretskii
2010-08-23 10:38 ` base Uday S Reddy
2010-08-23 11:03 ` base Leo
2010-08-23 12:56 ` base Eli Zaretskii
2010-08-24 4:32 ` base Richard Stallman
2010-08-24 6:01 ` base Stephen J. Turnbull
2010-08-24 7:22 ` base Leo
2010-08-24 8:29 ` base Andreas Schwab
2010-08-24 8:34 ` base Stephen J. Turnbull
2010-08-24 9:10 ` base Miles Bader
2010-08-24 10:03 ` base Juanma Barranquero
2010-08-24 13:39 ` base Stephen J. Turnbull
2010-08-24 14:05 ` base Miles Bader
2010-08-24 15:00 ` base Andreas Schwab
2010-08-24 16:14 ` base Juanma Barranquero
2010-08-24 12:32 ` base Stephen J. Turnbull
2010-08-24 12:51 ` base Leo
2010-08-24 13:39 ` base Juanma Barranquero
2010-08-24 14:25 ` base Óscar Fuentes
2010-08-24 16:18 ` base Juanma Barranquero
2010-08-24 14:37 ` base David Kastrup
2010-08-24 16:22 ` base Juanma Barranquero
2010-08-24 16:38 ` base David Kastrup
2010-08-24 17:22 ` base Juanma Barranquero
2010-08-24 17:35 ` base Stephen J. Turnbull
2010-08-24 17:45 ` base Frank Schmitt
2010-08-25 4:33 ` base Stephen J. Turnbull
2010-08-25 6:38 ` base Eli Zaretskii
2010-08-25 8:48 ` base Stephen J. Turnbull
2010-08-25 9:02 ` base Eli Zaretskii
2010-08-25 13:17 ` base Stephen J. Turnbull
2010-08-25 18:12 ` base Eli Zaretskii
2010-08-25 20:34 ` base Óscar Fuentes
2010-08-25 20:43 ` base Bernardo Barros
2010-08-25 20:55 ` base Eli Zaretskii
2010-08-24 18:00 ` base Leo
2010-08-24 19:04 ` base Juanma Barranquero
2010-08-24 23:44 ` base Miles Bader
2010-08-24 23:48 ` base Juanma Barranquero
2010-08-25 0:19 ` base Miles Bader
2010-08-25 3:13 ` base Eli Zaretskii
2010-08-25 3:44 ` base Miles Bader
2010-08-25 5:46 ` base Eli Zaretskii
2010-08-25 8:15 ` base Stephen J. Turnbull
2010-08-25 9:35 ` base Uday S Reddy
2010-08-25 10:43 ` base Juanma Barranquero
2010-08-25 15:34 ` base Stephen J. Turnbull
2010-08-25 11:21 ` base Eli Zaretskii
2010-08-25 13:13 ` base Óscar Fuentes
2010-08-25 15:11 ` base Harald Hanche-Olsen
2010-08-25 19:08 ` base Eli Zaretskii
2010-08-25 19:07 ` base Eli Zaretskii
2010-08-25 21:06 ` base Óscar Fuentes
2010-08-26 3:10 ` base Eli Zaretskii
2010-08-26 3:27 ` base Miles Bader
2010-08-26 3:29 ` base Miles Bader
2010-08-26 5:37 ` base Eli Zaretskii
2010-08-26 6:29 ` base Leo
2010-08-26 8:23 ` base Uday S Reddy
2010-08-26 9:16 ` base Eli Zaretskii
2010-08-26 12:25 ` base Uday S Reddy
2010-08-26 12:35 ` base Eli Zaretskii
2010-08-26 13:27 ` base Óscar Fuentes
2010-08-26 13:49 ` base Eli Zaretskii
2010-08-26 14:42 ` base Óscar Fuentes
2010-08-26 15:11 ` base David Robinow
2010-08-26 15:50 ` base Óscar Fuentes
2010-08-26 15:28 ` base David Kastrup
2010-08-27 5:33 ` base Stephen J. Turnbull
2010-08-27 13:25 ` base Óscar Fuentes
2010-08-28 15:18 ` base Stephen J. Turnbull
2010-08-26 11:01 ` base Stephen J. Turnbull
2010-08-26 17:08 ` base Eli Zaretskii
2010-08-27 13:03 ` base Stephen J. Turnbull
2010-08-27 13:52 ` base Eli Zaretskii
2010-08-27 14:25 ` base Miles Bader
2010-08-27 15:25 ` base Eli Zaretskii
2010-08-28 16:25 ` Stephen J. Turnbull [this message]
2010-08-28 17:32 ` base Eli Zaretskii
2010-08-28 18:58 ` base Leo
2010-08-28 19:58 ` base Eli Zaretskii
2010-08-28 22:51 ` base Leo
2010-08-28 19:16 ` base Stephen J. Turnbull
2010-08-28 20:00 ` base Eli Zaretskii
2010-08-29 12:21 ` base Stephen J. Turnbull
2010-08-26 18:09 ` base Uday S Reddy
2010-08-25 16:09 ` base Stephen J. Turnbull
2010-08-25 18:51 ` base Eli Zaretskii
2010-08-26 10:25 ` base Stephen J. Turnbull
2010-08-26 11:26 ` base Eli Zaretskii
2010-08-26 11:52 ` base Leo
2010-08-27 5:43 ` base Stephen J. Turnbull
2010-08-27 6:57 ` base Eli Zaretskii
2010-08-27 7:06 ` base David Kastrup
2010-08-27 13:16 ` base Óscar Fuentes
2010-08-25 7:38 ` base Leo
2010-08-25 7:41 ` base Juanma Barranquero
2010-08-25 13:23 ` base Teemu Likonen
2010-08-25 9:07 ` base Uday S Reddy
2010-08-24 14:09 ` base Miles Bader
2010-08-24 14:13 ` base Miles Bader
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=87iq2u4sc6.fsf@uwakimon.sk.tsukuba.ac.jp \
--to=stephen@xemacs.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=miles@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.