Hi Mary,<br><br>I was drawn to Bazaar for the same reason as you :)<br><br>The approach that I have taken is as suggested by Ian Clatworthy on 27 March 2008:<br><a href="https://lists.ubuntu.com/archives/bazaar/2008q1/039687.html">https://lists.ubuntu.com/archives/bazaar/2008q1/039687.html</a><br>
<br>Basically:<br>1. Initialise a shared repository on each of your machines.<br>2. Checkout your master copy into each shared repository.<br>3. Branch from each checkout into a working branch.<br><br>Work using the working branch (duh). You can make commits quite freely. When you are done with a piece of work, merge the working branch into the checkout and commit. If you suddenly need to leave before completing a piece of work, you can always update your checkout without worrying about your working branch.<br>
<br>If you happen to want to do another piece of work before the one you are working on is done, just make another working branch (i.e., a "feature branch", and I believe some people recommend just having lots of feature branches corresponding to each piece of work).<br>
<br>Regards,<br>Eugene<br><br><div class="gmail_quote">On Fri, Dec 12, 2008 at 8:45 AM, Mary Gardiner <span dir="ltr"><<a href="mailto:mary@puzzling.org">mary@puzzling.org</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;">
My primary use of Bazaar is for my PhD project, of which I keep copies<br>
for various reasons (usually available CPU power) on five different<br>
machines: my laptop, my work desktop and three servers.<br>
<br>
I have used checkouts to date, for these reasons:<br>
- my model roughly corresponds to the idea of there being a master copy<br>
from which the various copies more or less derive<br>
- bzr update, resolve conflicts, bzr commit should in theory involve<br>
less network round-trips than pull, oops that failed, merge, resolve<br>
conflicts, push and network round-trips are to be minimised when I am<br>
in "help 10 minutes to the train, better make sure I have the latest<br>
code so I can work offline" mode<br>
- the pull, fail, merge, push mechanism causes criss-cross merges quite<br>
quickly<br>
<br>
However, I do quite a lot of work and commits either offline (on trains<br>
usually) or on two machines simultaneously (one for writing English, one<br>
for writing code) so I do tend to give the offline commits a workout.<br>
There are very long-standing bugs with conflicts and offline commits in<br>
checkouts, particularly:<br>
- adding a directory in a local commit is regarded as an inherent<br>
conflict if you happen to have any unversioned files in the new<br>
directory at the time of update (eg, .pyc files), bug 120970<br>
- if I forget to do a --local commit before updating, difficult<br>
conflicts can ensue: bugs 113809 and 236724.<br>
<br>
I hit these bugs about twice a week, and it's been known to take me an<br>
hour or so to recall how to dig myself out of them without needing to<br>
delete and re-add files to the repository. (113809 is pretty reliably<br>
bewildering when it occurs as the behaviour I described in 228506.)<br>
<br>
So, do others use checkouts for these kind of single-person projects? Do<br>
you do local commits? If so, how do you work around the above bugs? If<br>
not, what are you doing instead?<br>
<font color="#888888"><br>
-Mary<br>
<br>
</font></blockquote></div><br>