<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Brendon<br>
<br>
I think that you're over thinking the model a bit too much. <br>
<br>
A branch in bazaar is represented by a filesystem directory, whether
shared or not. if you've merged the feature branch into parent
branch (as defined by <i>your</i> workflow), and you no longer
require the branch to be available separately, then just blow it
away like any other directory (rm -r featurebranch). In bazaar 2.2,
there is a new remove-branch coming too, but that's in beta at the
moment (and I'm not sure if it's in the current beta or not). <br>
<br>
Some other comments:<br>
<br>
On 07/04/2010 06:15, Eric Berry wrote:
<blockquote
cite="mid:i2z3bd11e001004062215vc6b24a0as470a370de36daa59@mail.gmail.com"
type="cite"><br>
<br>
<div class="gmail_quote">On Tue, Apr 6, 2010 at 9:32 PM, Brendan
Simon (eTRIX) <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:brendan.simon@etrix.com.au">brendan.simon@etrix.com.au</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid
rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left:
1ex;">
<div bgcolor="#ffffff" text="#000000">
<div class="im"><br>
</div>
I was thinking of standalone versus shared, but maybe I am
confused
about branches and repositories ??<br>
</div>
</blockquote>
<div><br>
I apologize if I'm not correct in this. I'm not an expert,
just a happy user of Bazaar. From my understanding, a
standalone branch is sort of like a repository in that it
contains all the history of that branch and any other branches
that have been merged into it (not considering rebasing).
There is a Bazaar repository which keep track of common
history between branches - very useful when have a lot of
separate lines of development, and want to save some space. <br>
</div>
</div>
</blockquote>
The repository is the bucket of revisions/changesets. if two
branches are configured to use the same shared repository, then ALL
revisions, not just common ones, are stored in the shared
repository.<br>
<blockquote
cite="mid:i2z3bd11e001004062215vc6b24a0as470a370de36daa59@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="border-left: 1px solid
rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left:
1ex;">
<div bgcolor="#ffffff" text="#000000">
<br>
I also noticed that branches can be stacked. I haven't used
a stacked
branch so I don't know how they really work, except that
they depend on
the availability of the source branch (must be local ?? or
can be
remote ??). My guess is blowing away a stacked branch would
not affect
the parent branch so it has the same affect as a non-stacked
branch.<br>
</div>
</blockquote>
<div><br>
I've never used stacked branches before, so I'm not sure how
best to use them.<br>
</div>
</div>
</blockquote>
I too have never used stacked branches, but from what I gather
there's an outstanding bug with commiting under certain
circumstances, so there pretty much a broken feature. I'm not sure
of the details on this, but it had been brought up here before,
maybe check out the archives or bug tracker for details if you're
interested. <br>
<blockquote
cite="mid:i2z3bd11e001004062215vc6b24a0as470a370de36daa59@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="border-left: 1px solid
rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left:
1ex;">
<div bgcolor="#ffffff" text="#000000">
<br>
So the rule is just delete your local branches when not
needed any more
-- must merge to parent branch if the changes are to be
kept.<br>
</div>
</blockquote>
<div><br>
I'm not sure if it's a "rule", but that's what I do with them
once I'm done working on the features and I've merged them
back into the main line.<br>
</div>
</div>
</blockquote>
I mostly do the same here. Again, this is dependant on your
workflow. For example, you may need to merge it into another branch
representing a different release (released vs unreleased versions).
Some of my branches get pull onto a test server to be tested in
isolation for other features I'm writing. but as a rul, if you've
finished with that branch as a separate line of development, then
you can delete it.<br>
<blockquote
cite="mid:i2z3bd11e001004062215vc6b24a0as470a370de36daa59@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<div>
</div>
<blockquote class="gmail_quote" style="border-left: 1px solid
rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left:
1ex;">
<div bgcolor="#ffffff" text="#000000">
<br>
The only exception seems to be if a feature branch is
created in a
shared repo, and commits are made, and then the branch
removed. The
result the feature branch is still in the history of the
shared repo.<br>
</div>
</blockquote>
<div><br>
Again, I'm not an expert, but I don't think that's how it
works. From my understanding, the repo only keeps the common
history (I'm sure it does a lot more than just that though),
all commits made only to that branch should exist only in that
branch.<br>
</div>
</div>
</blockquote>
The OP is right here. All revisions for all branches using a shared
repo get stored there. Within a shared repository you can even get
back a branch that has been deleted and NOT merged using `bzr heads`
from bzrtools plugin.<br>
<blockquote
cite="mid:i2z3bd11e001004062215vc6b24a0as470a370de36daa59@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<div>
</div>
<blockquote class="gmail_quote" style="border-left: 1px solid
rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left:
1ex;">
<div bgcolor="#ffffff" text="#000000">
<br>
So is there a 'bzr rmdir' or 'bzr branch --delete' command
that would
do the 'right thing' ... if the repository is shared or not
??<br>
</div>
</blockquote>
<div><br>
'bzr rm' will remove directories and files from version
control. If the branch is a lightweight checkout, there's a
'bzr zap' command provided by the bzrtools plugin which
removes it, but I'm not sure how it's different than just
deleting the branch directory.<br>
</div>
</div>
</blockquote>
<blockquote
cite="mid:i2z3bd11e001004062215vc6b24a0as470a370de36daa59@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<div>
</div>
</div>
<br clear="all">
<br>
-- <br>
Learn from the past. Live in the present. Plan for the future.<br>
Blog: <a moz-do-not-send="true"
href="http://www.townsfolkdesigns.com/blogs/elberry">http://www.townsfolkdesigns.com/blogs/elberry</a><br>
jEdit <<a moz-do-not-send="true" href="http://www.jedit.org">http://www.jedit.org</a>>
- Programmer's Text Editor<br>
Bazaar <<a moz-do-not-send="true"
href="http://bazaar.canonical.com">http://bazaar.canonical.com</a>>
- Version Control for Humans<br>
</blockquote>
<br>
- Scott<br>
</body>
</html>