Describe your workflow

Colin D Bennett colin at gibibit.com
Wed Jun 25 05:48:42 BST 2008


On Tue, 24 Jun 2008 20:49:40 -0600
Paul Hummer <paul.hummer at canonical.com> wrote:

> Aaron and I were chatting about shared repositories the other day,
> which just triggered a discussion with Tim about his workflow.  I'm
> curious to know other's workflows using bazaar as the VCS so that I
> can find something that might work better for me. 
> 
>   - How are your folders laid out? 
>   - Do you use lightweight checkouts? 
>   - What plugins could you not live without it?
> 
> Your input is appreciated,
> Paul

Here is what I am currently using for several projects:

I have a laptop and several desktops at work and at home.  Even on a
single machine, I like to use shared repositories without trees as my
storage and do my work in lightweight checkouts.  This allows fast,
space efficient branching for work on features, version tagging, and
other purposes.  I tend to keep a 'repo' and a 'work' directory for
each project.  For instance, in my home directory I have::

  $HOME/
    grub/
      repo/            [shared repository]
        font2tool/     [branch]
        upstream/      [branch]
        vbeopt/        [branch]
        videotest/     [branch]
       ...
      work/
        videotest/     [lightweight checkout]
        upstream/      [lightweight checkout]
        ...

I can feel free to delete trees under 'work/' if the tree is clean
('bzr st' shows no outstanding changes of importance), since the branch
data is all stored in the 'repo/' directory.  Then I can back up the
'repo/' directory and get an efficient snapshot of the whole project.

This has been working well for me so far.  I just push/pull my
development branches between my development machines and push to mirror
code on my web server.

At work, the main project is using a proprietary VCS tool called
SnapshotCM, but I use Bazaar to mirror the integration branch locally
and manage my own development work using bzr.  This results in a much
richer history, easier branching, faster VCS operations, and other
benefits.  Hopefully sometime I can convince the team to switch...  (I
want to set up a nice web UI to show them, but loggerhead is
ridiculously slow and bzrweb is a little clunky.)  For another project,
my Google Summer of Code work for the GNU GRUB project, the upstream
branch is CVS, but I am using Tailor to mirror the upstream CVS into a
bzr branch, and I'm doing my work using bzr.  I have done personal
projects using purely bzr and it's great.

I like the bzr-gtk plugin for its gdiff and gci commands, and sometimes
viz, though for me the propagation of changes between branches in viz
is not at all clear for non-trivial cases.  I wish 'gdiff' could also
support a side-by-side diff view (with a way to toggle the diff view
mode on the fly).  I looked at the bzr-gtk code to see if I could
contribute, but was a bit overwhelmed.

Thanks to everyone who has made Bazaar so great!  It is my favorite
piece of software right now and I can't imagine living without it.

Cheers,
Colin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20080624/4ab454ac/attachment.pgp 


More information about the bazaar mailing list