Recommended use of Bazaar for single-committer multiple-machine projects?

Mary Gardiner mary at puzzling.org
Fri Dec 12 00:45:23 GMT 2008


My primary use of Bazaar is for my PhD project, of which I keep copies
for various reasons (usually available CPU power) on five different
machines: my laptop, my work desktop and three servers.

I have used checkouts to date, for these reasons:
 - my model roughly corresponds to the idea of there being a master copy
   from which the various copies more or less derive
 - bzr update, resolve conflicts, bzr commit should in theory involve
   less network round-trips than pull, oops that failed, merge, resolve
   conflicts, push and network round-trips are to be minimised when I am
   in "help 10 minutes to the train, better make sure I have the latest
   code so I can work offline" mode
 - the pull, fail, merge, push mechanism causes criss-cross merges quite
   quickly

However, I do quite a lot of work and commits either offline (on trains
usually) or on two machines simultaneously (one for writing English, one
for writing code) so I do tend to give the offline commits a workout.
There are very long-standing bugs with conflicts and offline commits in
checkouts, particularly:
 - adding a directory in a local commit is regarded as an inherent
   conflict if you happen to have any unversioned files in the new
   directory at the time of update (eg, .pyc files), bug 120970
 - if I forget to do a --local commit before updating, difficult
   conflicts can ensue: bugs 113809 and 236724.

I hit these bugs about twice a week, and it's been known to take me an
hour or so to recall how to dig myself out of them without needing to
delete and re-add files to the repository. (113809 is pretty reliably
bewildering when it occurs as the behaviour I described in 228506.)

So, do others use checkouts for these kind of single-person projects? Do
you do local commits? If so, how do you work around the above bugs? If
not, what are you doing instead?

-Mary 



More information about the bazaar mailing list