<!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">&lt;<a moz-do-not-send="true"
            href="mailto:brendan.simon@etrix.com.au">brendan.simon@etrix.com.au</a>&gt;</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>&nbsp;</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.&nbsp; 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 ??).&nbsp; 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>&nbsp;</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>
          &nbsp;</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.&nbsp; 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>
          &nbsp;</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 &lt;<a moz-do-not-send="true" href="http://www.jedit.org">http://www.jedit.org</a>&gt;
      - Programmer's Text Editor<br>
      Bazaar &lt;<a moz-do-not-send="true"
        href="http://bazaar.canonical.com">http://bazaar.canonical.com</a>&gt;
      - Version Control for Humans<br>
    </blockquote>
    <br>
    - Scott<br>
  </body>
</html>