From 845c3ae25071dd53c5e2989f0769a5559fdce8b4 Mon Sep 17 00:00:00 2001 From: Will Kahn-Greene Date: Sat, 30 Apr 2011 11:17:35 -0400 Subject: [PATCH 1/3] 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 From 94459eadb8f1dae635e43c99958d37977db720c7 Mon Sep 17 00:00:00 2001 From: Will Kahn-Greene Date: Sat, 30 Apr 2011 14:42:14 -0400 Subject: [PATCH 2/3] Changes beardomatic things to codebase things --- docs/{beardomatic.rst => codebase.rst} | 41 +++++++------------------- docs/index.rst | 2 +- 2 files changed, 11 insertions(+), 32 deletions(-) rename docs/{beardomatic.rst => codebase.rst} (52%) diff --git a/docs/beardomatic.rst b/docs/codebase.rst similarity index 52% rename from docs/beardomatic.rst rename to docs/codebase.rst index 14130f6a..2c73e7d3 100644 --- a/docs/beardomatic.rst +++ b/docs/codebase.rst @@ -1,36 +1,15 @@ -.. _beardomatic-chapter: +.. _codebase-chapter: -=========================================== - Beardomatic: Infrastructure Documentation -=========================================== +======================== + Codebase Documentation +======================== -What the hell is Beardomatic? -============================= - -You might be wondering, "Gah! What the hell is Beardomatic!?" - -Well, I'll tell you. GNU MediaGoblin is a piece of software that sits -on a stack of libraries that do a bunch of stuff. It makes it easier -to differentiate the bits of code that encompass GNU MediaGoblin from -the bits of code that GNU MediaGoblin sit on top of. Thus, we came up -with the TOTALLY AWESOME name Beardomatic. - -Now you might be saying, "Holy crap!? Another web framework? Are you -going to write a mocking framework and an enumeration library, too!?" - -No, we're not. We're just calling this Beardomatic so that it's -easier to talk about things. However, at some point, we can take -these infrastructure bits from GNU MediaGoblin and turn them into a -full-blown "web framework". We wouldn't do this to compete for -mindshare with other web frameworks. We would do this to make it -easier for us to bootstrap other similar projects. +This chapter covers the libraries that GNU MediaGoblin uses as well as +various recipes for getting things done. -Beardomatic software stack -========================== - -Beardomatic is a software stack "web framework" composed of the -following bits: +Software Stack +============== * Project infrastructure @@ -80,7 +59,7 @@ following bits: * `JQuery `_: for groovy JavaScript things -How to ... in Beardomatic? -========================== +Recipes +======= FIXME - write this diff --git a/docs/index.rst b/docs/index.rst index 935e354b..16c8ca16 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -18,9 +18,9 @@ Table of Contents: hackinghowto theminghowto git + codebase designdecisions vision - beardomatic Indices and tables From 132a68b54696c6a405cd9061bfe1dbe4feafb795 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 1 May 2011 18:22:27 -0500 Subject: [PATCH 3/3] Require sphinx & jinja2 for good measure :) --- setup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.py b/setup.py index 38f1a4d4..5f3ebf95 100644 --- a/setup.py +++ b/setup.py @@ -37,6 +37,8 @@ setup( 'nose', 'werkzeug', 'celery', + 'jinja2', + 'sphinx', ], test_suite='nose.collector',