Adds section on git

* instructions for contributing patches
* learning git
* learning other utilities
This commit is contained in:
Will Kahn-Greene 2011-04-30 11:17:35 -04:00
parent 87b44d61ef
commit 845c3ae250
3 changed files with 105 additions and 4 deletions

68
docs/git.rst Normal file
View File

@ -0,0 +1,68 @@
==========================
Git, Cloning and Patches
==========================
GNU MediaGoblin uses git for all our version control and we have
the repositories hosted on `Gitorious <http://gitorious.org/>`_.
We have two repositories. One is for the project and the other is for
the project website.
How to clone the project
========================
Do::
git clone git://gitorious.org/mediagoblin/mediagoblin.git
How to send in patches
======================
All patches should be tied to issues in the `issue tracker
<http://bugs.foocorp.net/projects/mediagoblin/issues>`_.
That makes it a lot easier for everyone to track proposed changes and
make sure your hard work doesn't get dropped on the floor!
If there isn't an issue for what you're working on, please create
one. The better the description of what it is you're trying to
fix/implement, the better everyone else is able to understand why
you're doing what you're doing.
There are two ways you could send in a patch.
How to send in a patch from a publicly available clone
------------------------------------------------------
Add a comment to the issue you're working on with the following bits
of information:
* the url for your clone
* the revs you want looked at
* any details, questions, or other things that should be known
How to send in a patch if you don't have a publicly available clone
-------------------------------------------------------------------
Assuming that the remote is our repository on gitorious and the branch
to compare against is master, do the following:
1. checkout the branch you did your work in
2. do::
git format-patch -o patches origin/master
3. either:
* tar up and attach the tarball to the issue you're working on, OR
* attach the patch files to the issue you're working on one at a
time
How to learn git
================
Check out :ref:`hacking-howto-git`!

View File

@ -165,8 +165,8 @@ FIXME - write this
Tips for people new to coding
=============================
Python
------
Learning Python
---------------
GNU MediaGoblin is written using a programming language called `Python
<http://python.org/>`_.
@ -189,8 +189,8 @@ These are all excellent texts.
FIXME - are there good quality Python tutorial videos?
Libraries
---------
Learning Libraries GNU MediaGoblin uses
---------------------------------------
GNU MediaGoblin uses a variety of libraries in order to do what it
does. These libraries are listed in the :ref:`beardomatic-chapter`
@ -206,3 +206,35 @@ at `Python Miro Community <http://python.mirocommunity.org>`_ [0]_.
If you have questions or need help, find us on the mailing list and on
IRC.
.. _hacking-howto-git:
Learning git
------------
git is an interesting and very powerful tool. Like all powerful
tools, it has a learning curve.
If you're new to git, we highly recommend the following resources for
getting the hang of it:
* `Learn Git <http://learn.github.com/p/intro.html>`_ --- the GitHub
intro to git
* `Pro Git <http://progit.org/book/>`_ --- fantastic book
* `Git casts <http://gitcasts.com/>`_ --- screencast covering git
usage
* `Git Reference <http://gitref.org/>`_ --- Git reference that makes
it easier to get the hang of git if you're coming from other version
control systems
Learning other utilities
------------------------
The `OpenHatch <http://openhatch.org/>`_ site has a series of
`training missions <http://openhatch.org/missions/>`_ which are
designed to help you learn how to use these tools.
If you're new to tar, diff and patch, we highly recommend you sign up
with OpenHatch and do the missions.

View File

@ -17,6 +17,7 @@ Table of Contents:
deploymenthowto
hackinghowto
theminghowto
git
designdecisions
vision
beardomatic