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