Where to store on-going development branches

Ian Monroe ian at monroe.nu
Tue Nov 23 21:43:38 GMT 2010


I'm not really a member of this development community, but since I've
been helping with the Git transition I thought I'd send some
unsolicited advice based on experience we've had with Amarok.

I think its important to establish before you move to Git where you
want branch development to take place. Its not realistic to say you
want things to just continue on in master like before. SVN forces this
workflow and its actually rather unnatural to keep your development
branch purely local. With git its quite easy even for novices to work
with a couple branches and remote repos. So they will. :)

There's a few options:
1) If you check out:
http://community.kde.org/Sysadmin/GitKdeOrgManual#Commands_to_manage_personal_repositories
you can see that git.kde.org can be used to create personal repos.
Folks can then store their development branches here.
2) Permissions on the main Calligra repo could be set to allow anyone
to create a branch (this is the default I think) and everyone could
just push their work here.
3) Or you can not decide on anything and then folks will have branches
on git.kde.org, Gitorious, github, their granny's web server, or won't
publish them at all and then you're screwed if the patch they sent you
doesn't apply anymore.

(guess which one Amarok picked :D)

Personally I rather like the second option. It sounds a bit messy, but
if you have some simple branch namespace management (prefixing with
nick) it should be fine, and you can move old branches into a separate
historic repo during periodic cleanings. Option 1 might have some
advantages when it comes to dealing with permission issues.

But both option 1 and option 2 are better then 3. Other workflow
issues (eg how to use reviewboard) can be discussed and handled later,
its just hard to convince people to change which git repository they
work in. Developers can be rather shy with their ongoing work.

Ian



More information about the calligra-devel mailing list