Merge branch 'master' into celerysubmit

This commit is contained in:
Christopher Allan Webber 2011-05-01 18:22:58 -05:00
commit e495ec48f4
5 changed files with 118 additions and 36 deletions

View File

@ -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 <http://jquery.com/>`_: for groovy JavaScript things
How to ... in Beardomatic?
==========================
Recipes
=======
FIXME - write this

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,9 +17,10 @@ Table of Contents:
deploymenthowto
hackinghowto
theminghowto
git
codebase
designdecisions
vision
beardomatic
Indices and tables

View File

@ -37,6 +37,8 @@ setup(
'nose',
'werkzeug',
'celery',
'jinja2',
'sphinx',
],
test_suite='nose.collector',