Improving init workflow on Eclipse (was Re: Improving init workflow)

Philippe Lhoste PhiLho at GMX.net
Wed Jan 20 09:42:44 GMT 2010


On 19/01/2010 22:36, Andrew Cowie wrote:
> For what it's worth, I thought I'd mention the workflow we recommend to
> people.
>[...]
> http://java-gnome.sourceforge.net/4.0/HACKING.html

Interesting, because it is a very common development scheme: hacking an open source 
project for which we don't have write access to the repository, and patches need to be 
scrutinized by the developer(s).

It is close of the Team collaboration, distributed style section of the Bazaar user guide.
They recommend: "To create a mirror branch, set-up a shared repository [...] and then use 
the branch (or checkout) command to create the mirror."

The "(or checkout)" remark is bit confusing for a newbie, BTW, even more as only pull is 
mentioned to refresh the mirror branch... Perhaps the section could be split in two to 
separate the branch vs. checkout solutions, exposing the pros and cons of each choice.

Above, you recommend checkout, while most people recommend instead branch, perhaps because 
the latter makes harder to accidentally push changes back to the server (must be done 
explicitly). No?
What are the advantages of checkout vs. branch in this scenario?

Another question: when you merge changes from the trunk (mainline, whatever, the pristine 
copy of the official branch) into the dev branch(es), you have to commit the merge 
operation. What kind of merge message do you put? "Merge 20100120"? "Merge of rev.145"? 
Repeating the message from the log of the main branch?

Last question, quite generic: how to use this workflow when you hack on several computers 
(work and home, desktop and laptop, whatever)?
I use an USB key as pivot point, so I re-created the init-repo with branches on it, but 
even if the trunk is there (eg. if I want to work on yet another computer without Internet 
access), I feel I must not push code from computer to key for the trunk (I did that, but 
it creates merge conflicts or something).
So I suppose I must pull from central server to each trunk. But should I push my changes 
from one dev branch to USB key then pull them (or merge them) from key to dev branch of 
secondary computer?
What is the best practice here?

-- 
Philippe Lhoste
--  (near) Paris -- France
--  http://Phi.Lho.free.fr
--  --  --  --  --  --  --  --  --  --  --  --  --  --




More information about the bazaar mailing list