obviously bzr clone
, bzr branch
and bzr checkout
all do the same thing when given an URL as parameter and executed in a non-bzr directory.
is there any difference for later bazaar workflow? i.e. bzr commit
, bzr update
and friends.
obviously bzr clone
, bzr branch
and bzr checkout
all do the same thing when given an URL as parameter and executed in a non-bzr directory.
is there any difference for later bazaar workflow? i.e. bzr commit
, bzr update
and friends.
bzr branch
and bzr checkout
do very different things. They both give you a working tree, but bzr checkout
gives you only a working tree; commits and updates work directly on/from the source repository. bzr branch
gives you a working tree of a new branch of the repository; commits on this branch will not be automatically applied to the source branch. I'm not sure on clone
.
Branching and cloning are the same, but branching and checkouts are not the same.
$ bzr help branch ... Aliases: get, clone See also: checkout
Looking over the Checkout Tutorial, you'll see that a checkout essentially binds every action you take directly to the branch. So anything you do is essentially push
ed when you do it -- obviously that's a huge workflow difference.
Difference between a Branch and a Checkout
Let's start by saying there is nothing you can do with a Checkout that you can't do with plain Branches. A Checkout just enables different defaults and workflow helpers.
What does Checkout do
With a Checkout, whenever you create new entries in a local Branch, it also creates them in a remote Branch. This corresponds to commands like
bzr commit
andbzr pull
. If you attempt to commit a new changes, and the remote Branch has a different state than the local one, it will prevent you, and let you know that you are out of date. You can usebzr update
to apply the remote changes locally.