[MERGE] support updating lightweight checkouts of readonly branches

Robert Collins robertc at robertcollins.net
Wed Oct 18 05:30:34 BST 2006


On Wed, 2006-10-18 at 00:24 -0400, Aaron Bentley wrote:
> 
> Well, what I'm ultimately expecting is
> 
> #pseudocode
> conflicts = tree.tree_update()
> if conflicts != []:
>     print_conflicts(conflicts)
>     return 1
> 
> if tree.branch.get_master_branch():
>     branch.update()
>     conflicts = tree.tree_update()
>     if conflicts != []:
>         print_conflicts(conflicts)
>         return 1

Isn't this the wrong order ? In that you'll need to do
tree.tree_update
branch.update
tree.tree_update

to fully update ?

And, as the branch update step adds parents to be a pending merge, and
needs to change the working tree to match, I think [also pseudo code],
that something like
conflicts = tree.update()

should be all you need, with the inside of tree.update doing:
if self.branch.master.tip != self.branch.tip:
    # pivot and merge 
if no_conflicts_so_far:
    # update the tree against the branch

Which also has the property of splitting the two different forms of
update, but wont require three different tree operations to fully update
in the general case.

-Rob


-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: 191 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20061018/644faadd/attachment.pgp 


More information about the bazaar mailing list