Activity Team/Git FAQ

< Activity Team
Revision as of 14:28, 17 March 2009 by FGrose (talk | contribs) (ActivityTeam/Git FAQ moved to Activity Team/Git FAQ: deCamel casing)

Git and Gitorious FAQs

How do I create an account on git.sugarlabs.org?

Register using the link on the upper right menu on the Home Page.

How do I migrate a project to git.sugarlabs.org?

Please follow the instructions here to first set up your project's entry in Gitorious.

How do I create a fork of an existing project?

Click on the Repositories Tab of the project page in Gitorious. Click on "Mainline". A link will appear on the right-hand side of the page saying, "Clone repository".

Note: if you (as maintainer) are making a clone to replace a corrupted mainline on your local machine, you'll need to:

 git clone  git://git.sugarlabs.org/yourproject/mainline.git

and update [remote] section

git config remote.origin.url gitorious@git.sugarlabs.org:yourproject/mainline.git

How do I request a merge?

Click on the Repositories Tab of the project page in Gitorious. Click on "Mainline". A link will appear on the right-hand side of the page saying, "Request merge".

How do I added a committer?

Click on the Repositories Tab of the project page in Gitorious. Click on "Mainline". A link will appear on the right-hand side of the page saying, "Add Committer".

How do I get translations for my project?

  1. Use the gettext mechanism for your stings.
  2. Use python setup.py genpot to generate a .pot file for your project.
  3. Fill a ticket requesting that your POT file be added to Pootle. Assign the ticket to "Localization".
  4. Add User Pootle to the list of committers on your project.

What if my project has a binary blob?

You may have to use the --force flag.

git push -fv

How do I stay in sync with translations being pushed from the Pootle server?

Periodically—in my experience, on Fridays—updates to the project .po files are pushed from the Localization team.

Use git-pull to periodically pull these updates to the local copy of your project.

Also, run python setup.py fix_manifest to update the .mo files after updating the .po files

Note: After every major release, a new branch is created on the Pootle server, e.g., Fructose-0.82 and Fructose-0.84. The Localization team may push translations to any or all of the corresponding branches of your project. Changes to your master branch are not necessarily intended for the release branches.

How do I update the Tag field in Gitorious?

git tag -m "Release 36" v36 HEAD
git push --tags

As a maintainer, how do I merge a patch?

git-pull does a combination of fetch and merge, so to merge a patch...

git pull git://git.sugarlabs.org/myproject/myproject-clone.git master

How do I select which branch I am working on?

git checkout master
git checkout sucrose-0.84

How do I merge changes from master into a branch?

git checkout sucrose-0.84
git rebase master

Misc.

Where do I put the .xo file for my project?

We are using http://activities.sugarlabs.org/ to host Activity bundles. Create an account and put your project's .xo file there.

Where do I put the source tarball for my project?

download.sugarlabs.org:/var/www-sugarlabs/download/sources/

Specifically, if it is a Fructose project, it goes here:

download.sugarlabs.org:/var/www-sugarlabs/download/sources/sucrose/fructose/[your project directory]/

Honey projects go here:

download.sugarlabs.org:/var/www-sugarlabs/download/sources/honey/[your project directory]/

Where should I document my project?

Please create a subpage in the wiki under Activities, e.g., Activities/Turtle Art