"diff -r submit:" should not need to look at the parent
Martin Pool
mbp at canonical.com
Sat May 8 14:30:48 BST 2010
On 7 May 2010 22:56, Stefan Monnier <monnier at iro.umontreal.ca> wrote:
>> Is this using the parent as the submission branch?
>
> Sorry, I meant the submit branch, yes.
>
>> How do we know what
>> revision the parent is at if we don't look at it. If you could say
>> "use the last known parent value" that would be one possibility.
>> But remember that the submit: value *changes* if the parent merged
>> some of your changes.
>
> Yes, I know there are some subtle differences. Thing is: for 100% of my
> branches, those differences don't apply, and I suspect that's the case
> for many other people.
>
> So, yes, a new setting for "use the last known parent value" would work
> just fine for me (but note that if I pull from some other branch that
> has merged new changes from my submit branch, I'd like that to be
> reflected in my "last known submit value").
>
>> Note that if you want to imitate Arch and use a 'mostly up to date'
>> mirror of the remote branch, then you can do:
>> bzr branch $REAL_PARENT local_parent
>> bzr branch local_parent mybranch
>
> And indeed, I work around this problem in the way you suggest, by having
> a local mirror of my upstream submit branch. But this also suffers from
> the subtlety mentioned above: if I pull from some other branch that has
> merged from my upstream submit branch, "submit:" will still use my local
> out of date mirror, even tho the DAG already has more recent data at
> hand (it just doesn't know that this more recent data comes from the
> relevant branch).
>
> So I have to be careful to make sure my local mirror is at least as
> up-to-date as the last merge performed locally or on some other branch
> from which I pull. When I forget that detail, I get diffs which make me
> very confused indeed (so I end up using a script that updates the mirror
> everytime I pull from some other branch, which is especially painful
> because the upstream submit branch is slow [I'll you all guess which
> branch I'm referring to]).
So this is not really specific to diff, but more to do with having an
idea that one local branch is a mirror of a remote one, and with
automatically mirroring it down. It would be nice to add.
> PS: I really can't figure out why Bzr had to invent all those duplicate
> names: "pull" uses "parent", "merge" uses "submit"? Why not have the
> "pull" branch, the "push" branch, the "merge" branch, so it's obvious
> which setting is used with which command?
I've said before I think we should just rename them that way. I'm not
100% sure but I think generally people generally liked it. Someone
just needs to do it.
--
Martin <http://launchpad.net/~mbp/>
More information about the bazaar
mailing list