[Sugar-devel] looking to contribute

Gary C Martin garycmartin at googlemail.com
Fri Oct 22 09:59:42 EDT 2010


Hi Jon et al,

Hope you don't mind me cc:ing the sugar-devel mail-list, it helps give other folks a head's up on likely activity. Folks may want to join the mail-list as it's useful for posting questions, getting help – though traffic can be a little noisy at times.

On 20 Oct 2010, at 19:24, WSU CS401 wrote:

> On Wed, Oct 20, 2010 at 2:04 PM, Gary C Martin <garycmartin at googlemail.com> wrote:
> Hi Lindsey,
> 
> On 19 Oct 2010, at 19:51, WSU CS401 wrote:
> 
> > Hello,
> >    We are four college students looking to contribute to sugar activities.  Your activities caught our eye and we were wondering, as you are a maintainer, if you have any projects/fixes (small at first) that we could help with as we are new to sugar.
> 
>> Did you have an activity in mind? Physics, Clock, Labyrinth, Calculate, Moon are the ones I try specifically to help maintain in my free time, though Moon is the only one I originally wrote, the others are all adopted.
>> 
>> There are quite a few activities out there that could do with some minimal maintenance/release effort, perhaps a few feature additions if something grabs your interest and your time allows.
>> 
>> One quick example: I've been hoping to pick up Bridge at some point:
>> 
>>        http://wiki.laptop.org/go/Bridge
>> 
>> It's based on the same code as Physics and I've plenty of patches there that I'm sure could be easily made to Bridge with minimal effort. It's a fun little game that needs a bit of tidy-up (was originally written as part of a game jam over a few days). As far as features, it could do with some game level progression (only one level at the moment), perhaps a budget system where you only have so many coins to spend on building materials.
>> 
>> Someone did at least upload the Bridge-2 bundle to activities.sugarlabs.org:
>> 
>>        http://activities.sugarlabs.org/en-US/sugar/addon/4231
>> 
>> But they made no changes and didn't make a git repository for the source code, would be a fine candidate to help out on.
>> 
>> Shout if it doesn't grab your interest, sure there are other I can find that are in need of help.
>>  
> 
> That sounds excellent, just the kind of thing we were looking for. How should we go about starting this project? We have done a lot of research, but we are still unsure of how sugar's development cycle actually works. Thanks a lot for your reply! :)

Good question ;) OK, so I've created some Sugar Labs resources for Bridge to get things going. First a quick wiki page template, nothing too exciting but feel free to tinker and add to it as needed:

	http://wiki.sugarlabs.org/go/Activities/Bridge

The git source repository is here

	http://git.sugarlabs.org/projects/bridge

Each member of the team that's going to work on code should create a user account on git.sugarlabs.org. On the machine/home directory you each intend to work from you'll need to create a SSH key pair, and add the public key to your git.sugarlabs.org accounts, this allows you to git push your changes back to the main repository. Once you have accounts, I can either add commit privileges for you to the Bridge mainline, or initially the best workflow is usually to create your own clone or clones to experiment with first:

	http://git.sugarlabs.org/projects/bridge/repos/mainline (login to see the Clone repository link to the right)

I've filed a request for a Trac component, we use this to collect bug/enhancement/task tickets, if you also create accounts at bugs.sugarlabs.org tickets can easily be assigned so we know who working on what issue (useful if there are a number of folks all wanting to work in parallel):

	http://bugs.sugarlabs.org/ticket/2470

The usual workflow when there is more than one of you working is something like: 

 - file some Trac tickets for various bugs/enhancements/tasks making sure the component is set to Bridge.
 - assign tickets you want to work on to yourself so others can see who is doing what
 - make yourself a local clone of a repository ready to work on
 - make the _minimal_ code changes necessary for your assigned ticket
 - once your happy and tested locally, push your clean changes back to the public repository
 - request a merge of your public repository into mainline
 - wait for review feedback or notification that your change was accepted and merged
 - repeat

BTW I'm no master git user, I try to stick to a simple git workflow so as not to get into a source code tangle :)

Have a skim through the Activity Team wiki pages, it has various FAQs and links to using git and other useful topics that may help get things up and running:

	http://wiki.sugarlabs.org/go/Activity_Team

If something confusing/missing let me know as wikis are notorious for gathering moss and going off at tangents.

Regards,
--Gary

> Jon B.
> WSU Senior | Computer Science
> 
>> Kind Regards,
>> --Gary
>> 
>> > Thanks,
>> >
>> > Lindsey L.
>> >
>> > WSU Senior| Computer Science


More information about the Sugar-devel mailing list