[BUG] when doing a bzr pull with conflicts
Robert Collins
robertc at robertcollins.net
Mon Sep 19 03:04:17 BST 2005
On Sun, 2005-09-18 at 01:40 -0400, James Blackwell wrote:
> On Wed, Sep 14, 2005 at 02:39:10PM -0700, Rob Browning wrote:
> > Robert Collins <robertc at robertcollins.net> writes:
> >
> > > That said, when you have divergent branches, you probably want to be
> > > doing a 'merge' rather than a 'pull'. Pull is equivalent to CVS
> > > update or SVN update, which only makes sense when you are still on
> > > the same branch - i.e. you have not committed, which creates a
> > > unique branch.
> >
> > If I understood you correctly, then it seems like this might confuse
> > some cvs and svn users since in cvs/svn, update actually does do
> > something like a merge with the "current branch", and you would
> > normally run update whether you've committed or not.
>
> I talked with Abentley about this awhile ago. My personal opinion is that
> users want "Get missing code from there and put it here" and that the tool
> can tell whether it should be doing a merge or a pull, that there should
> just be one command.
I think users will care intensely.
Heres a scenario:
I have a branch, the mainline for project Foo.
you branch from me and do some work....
commit -m 'delete random stuff' ; ...
commit -m 'add in replacements' ; ...
commit -m 'fix bug 45'
Now, I want to get everything you've done..
bzr merge $jblack;
bzr commit -m 'merge bug fux 45 from jblack'.
I'd like to see the following in bzr log:
r 3
message: 'merge bug fux 45 from jblack'
====
r2
message: 'what I had before'
...
If the tool appends history, which its able to in this scenario, what
I'd see is:
r5
message: 'fix bug 45'
====
r4
message: 'add in replacements'
====
r3
message: 'delete random stuff'
====
r2
message: 'what I had before'
...
Which is _not_ what ever existed in my mainline, and not what I want
people to see when they walk back along my history.
I think that we need two semantically different commands,
$collapse-and-let-me-commit and $append-their-stuff-to-mine.
$append-their-stuff-to-mine could well degrade into
$collapse-and-let-me-commit if the branches have diverged.
Rob
--
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20050919/781fa6fa/attachment.pgp
More information about the bazaar
mailing list