Difference between revisions of "Activity Team/Git Tutorial"
m (adjust heading) |
|||
Line 1: | Line 1: | ||
<noinclude>{{GoogleTrans-en}}{{TeamHeader|Activity Team}}{{TOCright}}</noinclude> | <noinclude>{{GoogleTrans-en}}{{TeamHeader|Activity Team}}{{TOCright}}</noinclude> | ||
− | + | == Gitorious == | |
− | == Create an account == | + | |
+ | Getting started with Gitorious. | ||
+ | |||
+ | === Create an account === | ||
Create an account on git.sugarlabs.org by selecting the register link on the home page. | Create an account on git.sugarlabs.org by selecting the register link on the home page. | ||
Line 12: | Line 15: | ||
Follow link on email confirmation | Follow link on email confirmation | ||
− | + | === Create SSH Key === | |
− | == Create SSH Key == | ||
ToDo | ToDo | ||
− | ==Create a | + | === Create a Project === |
Created a new project by selecting the new link on the project page. | Created a new project by selecting the new link on the project page. | ||
Line 28: | Line 30: | ||
There several other question which can be answered later as you have more information. | There several other question which can be answered later as you have more information. | ||
− | == | + | === Create Local Repository === |
+ | |||
+ | There are two way to create a local repository. Initial one from scratch using git commands or pull your new project from Gitorious. | ||
+ | ==== Initialize blank repository ==== | ||
− | + | ==== Pull from Gitorious ==== | |
− | + | ||
+ | One of the easiest way to create a local git repository which it set up to point to your new Gitorious project is to | ||
+ | |||
+ | === Push project === | ||
git remote add origin gitorious@git.sugarlabs.org:turtleart/mainline.git | git remote add origin gitorious@git.sugarlabs.org:turtleart/mainline.git | ||
# to push the master branch to the origin remote we added above: | # to push the master branch to the origin remote we added above: | ||
Line 38: | Line 46: | ||
# after that you can just do: | # after that you can just do: | ||
git push | git push | ||
+ | |||
+ | ::Morgs pointed out that if you go to http://git.sugarlabs.org/projects/turtleart/repos/mainline it tells you a "push" URL. | ||
+ | |||
+ | |||
:4. I added the pootle user as a committer. | :4. I added the pootle user as a committer. | ||
:5. Where should I put the .xo bundle? And the source tarball? | :5. Where should I put the .xo bundle? And the source tarball? |
Revision as of 14:08, 30 August 2009
Gitorious
Getting started with Gitorious.
Create an account
Create an account on git.sugarlabs.org by selecting the register link on the home page.
Enter your
- Login
- Password
- Password confirmation
Follow link on email confirmation
Create SSH Key
ToDo
Create a Project
Created a new project by selecting the new link on the project page.
Enter your
- Project Title
- Project slug (This a filled in for you based on your project title
- License
- Description
There several other question which can be answered later as you have more information.
Create Local Repository
There are two way to create a local repository. Initial one from scratch using git commands or pull your new project from Gitorious.
Initialize blank repository
Pull from Gitorious
One of the easiest way to create a local git repository which it set up to point to your new Gitorious project is to
Push project
git remote add origin gitorious@git.sugarlabs.org:turtleart/mainline.git # to push the master branch to the origin remote we added above: git push origin master # after that you can just do: git push
- Morgs pointed out that if you go to http://git.sugarlabs.org/projects/turtleart/repos/mainline it tells you a "push" URL.
- 4. I added the pootle user as a committer.
- 5. Where should I put the .xo bundle? And the source tarball?
- there is a script for generating and posting changes that covers all of these details.
I had a bit of trouble pushing a new change to gitorious today. I had to use the --force flag for some reason. We suspect it may have something to do with the fact that one of the files I pushed is a binary file. Will report back what I find. (Seems to work fine when there are no binary files to add/push.)
git push -fv
I have been trying to use release.py with no luck so far either. (It has a dependency on the feedparser python library, which is easy enough to install.) It complained about a mismatched tag, so I used the --version flag to force the same version number as in my activity.info file. Then I got this error:
nothing added to commit but untracked files present (use "git add" to track) Traceback (most recent call last): File "../release.py", line 325, in <module> main() File "../release.py", line 314, in main release.tag() File "../release.py", line 170, in tag subprocess.check_call(['git', 'commit', '-a', '-m' , '%s' % message]) File "/usr/lib/python2.5/subprocess.py", line 462, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['git', 'commit', '-a', '-m', 'Release 26']' returned non-zero exit status 1
Is this because I did the git commit and git push by hand before running release.py?
Use
git-pull
to periodically pull pootle updates to the project .po files (every Friday?)
Also, run
python setup.py fix_manifest
to update the .mo files after updating the .po files
alsroot taught me about another git feature: tags
git tag -m "Release 36" v36 HEAD git push --tags
bertf explained to me that git-pull does a combination of fetch and merge, so to merge a patch...
git pull git://git.sugarlabs.org/infoslicer/alsroots-clone.git master
A few notes re moving to the Sugar Labs infrastructure:
- use git init to create a new project
- source packages now go in
shell.sugarlabs.org:/upload/sources/sucrose/fructose/
download.sugarlabs.org:/var/www-sugarlabs/download/sources/sucrose/fructose/
- don't forget to update addons as well!!
- and to copy the tar file to download.sugarlabs.org
download.sugarlabs.org:/download/sources/honey/... download.sugarlabs.org:/download/sources/sucrose/fructose/...