Difference between revisions of "Activity Team/Git FAQ"
Jump to navigation
Jump to search
(formatting) |
|||
Line 125: | Line 125: | ||
===Commit access behind firewall=== | ===Commit access behind firewall=== | ||
− | If you | + | :If you are behind a firewall and need only ''Read-Only'' access to git.sugarlabs.org, you can use HTTP links, like |
http://git.sugarlabs.org/git/<project>/mainline.git | http://git.sugarlabs.org/git/<project>/mainline.git | ||
− | But if you need commit access you'll have to | + | :But if you need commit access, you'll have to set up an SSH proxy tunnel. One option is using [http://www.torproject.org/ Tor]. So, install all requirements: |
− | * [http://www.torproject.org/ Tor] to make tunnel via Tor network | + | * [http://www.torproject.org/ Tor] to make tunnel via Tor network, |
− | * [http://www.meadowy.org/~gotoh/projects/connect/ connect] to let | + | * [http://www.meadowy.org/~gotoh/projects/connect/ connect] to let SSH use this tunnel. |
− | You don't need any special configs for this software(in case of Tor if your distribution makes some smart pre-configurations, just remove /etc/tor/torrc). | + | :You don't need any special configs for this software (in case of Tor, if your distribution makes some smart pre-configurations, just remove /etc/tor/torrc). |
− | Setup your tunnel in | + | :Setup your tunnel in SSH. Add the following lines to your ~/.ssh/config |
Host git.sugarlabs.org | Host git.sugarlabs.org | ||
User gitorious | User gitorious | ||
ProxyCommand /usr/bin/connect -S 127.0.0.1:9050 git.sugarlabs.org 22 | ProxyCommand /usr/bin/connect -S 127.0.0.1:9050 git.sugarlabs.org 22 | ||
− | Then start [http://www.torproject.org/ Tor], you can just run it on behalf of your account | + | :Then start [http://www.torproject.org/ Tor], you can just run it on behalf of your account |
tor | tor | ||
− | Then do the regular stuff you can do without any firewalls. | + | :Then do the regular stuff you can do without any firewalls. |
− | ''NOTE'' If you | + | :''NOTE:'' If you use [http://www.torproject.org/ Tor] on a regular basis, please consider the possibility of [http://www.torproject.org/docs/tor-doc-relay.html.en helping] Tor by donating your bandwidth. |
[[Category:Activity Team]] | [[Category:Activity Team]] | ||
[[Category:FAQ]] | [[Category:FAQ]] |
Revision as of 11:13, 3 September 2009
Help! I suddenly can't connect to Gitorious!
- The OSUOSL, which hosts Gitorious, has an aggressive IP blacklist policy. If you once were able to push but now cannot, send an email to support@osuosl.org requesting that your IP be removed from the blacklist.
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 new project?
- First set up the project in gitorious as per above.
- Go to your project directory and type:
git init
git add * git commit -a git remote add origin gitorious@git.sugarlabs.org:[your project name]/mainline.git git push origin master
- Hence forth, just use:
git commit git push
- You can also use
git commit -a -m "I am the commit message"
- to avoid opening an editor.
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
- in the .git/config file, you may have to change:
[remote "origin"] url = git://git.sugarlabs.org/yourproject/yourbranch.git
- to:
[remote "origin"] url = gitorious@git.sugarlabs.org:yourproject/yourbranch.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 add 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?
- Use the gettext mechanism for your stings.
- Use
python setup.py genpot
to generate a .pot file for your project. - Fill a ticket requesting that your POT file be added to Pootle. Assign the ticket to "Localization".
- 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
How do I generate a patch?
git diff > blah.patch
- or
diff -rup [old] [new]
- or
git format-patch HEAD^
It is preferable that you generate your patch from the root directory of your project.
How do I send a patch to the developers?
git send-email --to=sugar-devel@lists.sugarlabs.org 0001*.patch
You may need to install git-mail:
sudo yum -y install git-email
Commit access behind firewall
- If you are behind a firewall and need only Read-Only access to git.sugarlabs.org, you can use HTTP links, like
http://git.sugarlabs.org/git/<project>/mainline.git
- But if you need commit access, you'll have to set up an SSH proxy tunnel. One option is using Tor. So, install all requirements:
- You don't need any special configs for this software (in case of Tor, if your distribution makes some smart pre-configurations, just remove /etc/tor/torrc).
- Setup your tunnel in SSH. Add the following lines to your ~/.ssh/config
Host git.sugarlabs.org User gitorious ProxyCommand /usr/bin/connect -S 127.0.0.1:9050 git.sugarlabs.org 22
- Then start Tor, you can just run it on behalf of your account
tor
- Then do the regular stuff you can do without any firewalls.