merge vs pull (was What we did at UBZ)

James Blackwell jblack at merconline.com
Wed Nov 23 00:46:09 GMT 2005


On Mon, Nov 21, 2005 at 07:01:34PM +1100, Martin Pool wrote:
> On 21 Nov 2005, James Blackwell <jblack at merconline.com> wrote:
> > > Aaron:
> > > If it's a merge, you won't be able to pull.
> > 
> > 
> > Of course... this is all a moot point if merge and pull are the same
> > command. The user wouldn't be the wiser. :)

> 
> Sure, but that gets into a whole other bunch of issues previously
> discussed.  Most importantly, after a merge, you need to commit.  I
> don't want to give that up, because being able to review/test/edit the
> merge results is important to maintaining user control on what goes
> into a branch.  

This is a good point that has been mentioned by Aaron before. My thoughts
are something like: 

~$ bzr branch http://offin.thevoid/coolcode cool
~$ cd cool
cool/ $ bzr pull 
bzr: Nothing new

cool/ $ sleep 86400
cool/ $ bzr pull
bzr: Changes applied and saved.

cool/ $ echo "hi" > hi; bzr add hi; bzr commit -m "added hi"
cool/ $ bzr pull
bzr: Nothing new
cool/ $ sleep 86400

cool/ $ bzr pull
bzr: Changes applied. Review changes and commit
cool/ $ bzr pull

cool/ $ sleep 86400
cool/ $ echo "bye" > bye; bzr add bye; bzr commit -m "added bye"
cool/ $ bzr pull --pretend-converged
bzr: Changes applied and saved
cool/ $ bzr st
Modified:
  bye


It's OK for the user to not know about something like the hypothetical 
pretend-converged command because they can safely and cleanly operate
without knowing the information. They can learn about it later and go
"COOL!" without having to know it today.


> Conversely, we want to be able to track another branch without
> generating a lot of new commits, which implies some kind of
> pull/mirror/sync thing.

Commit isn't necessary for unconverged trees. For diverged trees, I think
its better to retain 

> 
> Given the behaviour is rather different I think making them the same
> command would be confusing (but I might be wrong.)  At any rate there do
> seem to be two fundamentally different behaviours.

Right now, bzr help is 13 commands. That's pretty good, and a very, very
powerful selling point. I think that its reasonably possible to get that
down to ten commands without breaking new minds, by combining three
commands -- pull, branch and merge, into one command.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20051122/d222521f/attachment.pgp 


More information about the bazaar mailing list