Difference between revisions of "Activity Team/Git FAQ"

From Sugar Labs
Jump to navigation Jump to search
m (fix camelcase links)
Line 1: Line 1:
{{TOCright}}
 
 
== Git and Gitorious FAQs ==
 
== Git and Gitorious FAQs ==
  
 
=== How do I create an account on git.sugarlabs.org? ===
 
=== How do I create an account on git.sugarlabs.org? ===
  
[http://git.sugarlabs.org/users/new Register] using the link on the upper right menu on the Home Page.
+
:[http://git.sugarlabs.org/users/new Register] using the link on the upper right menu on the Home Page.
  
 
===How do I migrate a project to git.sugarlabs.org? ===
 
===How do I migrate a project to git.sugarlabs.org? ===
  
Please follow the [[Activity Team/How_to_migrate_from_OLPC|instructions here]] to first set up your project's entry in Gitorious.
+
:Please follow the [[Activity Team/How_to_migrate_from_OLPC|instructions here]] to first set up your project's entry in Gitorious.
  
 
=== How do I create a fork of an existing project? ===
 
=== 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".
+
: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:
+
: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
 
   git clone  git://git.sugarlabs.org/yourproject/mainline.git
  
and update [remote] section
+
:and update [remote] section
  
 
  git config remote.origin.url gitorious@git.sugarlabs.org:yourproject/mainline.git
 
  git config remote.origin.url gitorious@git.sugarlabs.org:yourproject/mainline.git
Line 24: Line 23:
 
=== How do I request a merge? ===
 
=== 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".
+
: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? ===
 
=== 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".
+
: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? ===
 
=== How do I get translations for my project? ===
Line 39: Line 38:
 
=== What if my project has a binary blob? ===
 
=== What if my project has a binary blob? ===
  
You may have to use the --force flag.
+
:You may have to use the --force flag.
  
 
  git push -fv
 
  git push -fv
Line 45: Line 44:
 
=== How do I stay in sync with translations being pushed from the Pootle server? ===
 
=== 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.
+
:Periodically—in my experience, on Fridays—updates to the project .po files are pushed from the Localization team.
  
Use <code> git-pull </code> to periodically pull these updates to the local copy of your project.
+
:Use <code> git-pull </code> to periodically pull these updates to the local copy of your project.
  
Also, run <code>python setup.py fix_manifest</code> to update the .mo files after updating the .po files
+
:Also, run <code>python setup.py fix_manifest</code> 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.
+
:'''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? ===
 
=== How do I update the Tag field in Gitorious? ===
Line 60: Line 59:
 
=== As a maintainer, how do I merge a patch? ===
 
=== 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 does a combination of fetch and merge, so to merge a patch...
  
 
  git pull git://git.sugarlabs.org/myproject/myproject-clone.git master
 
  git pull git://git.sugarlabs.org/myproject/myproject-clone.git master
Line 79: Line 78:
 
=== Where do I put the .xo file for my project? ===
 
=== 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.
+
: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? ===
 
=== Where do I put the source tarball for my project? ===
Line 85: Line 84:
 
  download.sugarlabs.org:/var/www-sugarlabs/download/sources/
 
  download.sugarlabs.org:/var/www-sugarlabs/download/sources/
  
Specifically, if it is a Fructose project, it goes here:
+
:Specifically, if it is a Fructose project, it goes here:
  
 
  download.sugarlabs.org:/var/www-sugarlabs/download/sources/sucrose/fructose/[your project directory]/
 
  download.sugarlabs.org:/var/www-sugarlabs/download/sources/sucrose/fructose/[your project directory]/
  
Honey projects go here:
+
:Honey projects go here:
  
 
  download.sugarlabs.org:/var/www-sugarlabs/download/sources/honey/[your project directory]/
 
  download.sugarlabs.org:/var/www-sugarlabs/download/sources/honey/[your project directory]/
Line 95: Line 94:
 
=== Where should I document my project? ===
 
=== Where should I document my project? ===
  
Please create a subpage in the wiki under Activities, e.g., [[Activities/Turtle Art]]
+
:Please create a subpage in the wiki under Activities, e.g., [[Activities/Turtle Art]]
  
 
[[Category:Activity Team]]
 
[[Category:Activity Team]]
 
[[Category:FAQ]]
 
[[Category:FAQ]]

Revision as of 23:08, 2 May 2009

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