[BUG] when doing a bzr pull with conflicts

Erik Bågfors zindar at gmail.com
Mon Sep 19 09:54:04 BST 2005


2005/9/19, Robert Collins <robertc at robertcollins.net>:
> 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 want to see a mix of this.
I'd like to see

r 3
message: 'merge bug fux 45 from jblack' 
committer: robertc at ...
   Merged commits:
     message: 'fix bug 45'
     committer: jblack at ...
     ====
     message: 'add in replacements'
     committer: jblack at ...
     ====
     message: 'delete random stuff'
     committer: jblack at ...
     ====   
====
r2
message: 'what I had before'
committer: robertc at ...
...



And when running with -v (or --show-ids) I'd like to see something like
revno: r 3
revid:  A4
message: 'merge bug fux 45 from jblack' 
committer: robertc at ...
   Merged commits:
     revid: B3
     message: 'fix bug 45'
     committer: jblack at ...
     ====
     revid: B2
     message: 'add in replacements'
     committer: jblack at ...
     ====
     revid:  B1
     message: 'delete random stuff'
     committer: jblack at ...
     ====   
====
revno: r2
revid: A3
message: 'what I had before'
committer: robertc at ...

Where revid of course should be the normal
"mbp at sourcefrog.net-20050913003944-4890c9f8f04f37a5"-like stuff.

Then I should be able to go 

bzr diff -r revid:B2..revid:B3
to be able to find out what jblack did there.  Even if I get it from
your branch.

Don't know if this is doable, but it would be great I think.

Regards,
Erik




More information about the bazaar mailing list