From 845c3ae25071dd53c5e2989f0769a5559fdce8b4 Mon Sep 17 00:00:00 2001 From: Will Kahn-Greene Date: Sat, 30 Apr 2011 11:17:35 -0400 Subject: [PATCH] Adds section on git * instructions for contributing patches * learning git * learning other utilities --- docs/git.rst | 68 +++++++++++++++++++++++++++++++++++++++++++ docs/hackinghowto.rst | 40 ++++++++++++++++++++++--- docs/index.rst | 1 + 3 files changed, 105 insertions(+), 4 deletions(-) create mode 100644 docs/git.rst diff --git a/docs/git.rst b/docs/git.rst new file mode 100644 index 00000000..0db1dacf --- /dev/null +++ b/docs/git.rst @@ -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 `_. + +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 +`_. +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`! diff --git a/docs/hackinghowto.rst b/docs/hackinghowto.rst index 8b40e37d..1096b970 100644 --- a/docs/hackinghowto.rst +++ b/docs/hackinghowto.rst @@ -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 `_. @@ -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 `_ [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 `_ --- the GitHub + intro to git +* `Pro Git `_ --- fantastic book +* `Git casts `_ --- screencast covering git + usage +* `Git Reference `_ --- 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 `_ site has a series of +`training 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. diff --git a/docs/index.rst b/docs/index.rst index fc8cc642..935e354b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -17,6 +17,7 @@ Table of Contents: deploymenthowto hackinghowto theminghowto + git designdecisions vision beardomatic