summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Trier <mtrier@gmail.com>2009-01-24 15:40:27 -0500
committerMichael Trier <mtrier@gmail.com>2009-01-24 15:40:27 -0500
commitc76852d0bff115720af3f27acdb084c59361e5f6 (patch)
tree1a32625f14b304132196b359fcc918282bc7b3d7
parentbcd57e349c08bd7f076f8d6d2f39b702015358c1 (diff)
downloadgitpython-c76852d0bff115720af3f27acdb084c59361e5f6.tar.gz
Lots of spring cleaning and added in Sphinx documentation.
-rw-r--r--AUTHORS22
-rw-r--r--CHANGES2
-rw-r--r--LICENSE2
-rw-r--r--doc/Makefile75
-rw-r--r--doc/conf.py191
-rw-r--r--doc/index.rst23
-rw-r--r--doc/intro.rst83
-rw-r--r--doc/reference.rst95
-rw-r--r--doc/tutorial.rst (renamed from doc/tutorial.txt)188
-rw-r--r--lib/git/__init__.py2
-rw-r--r--lib/git/actor.py2
-rw-r--r--lib/git/blob.py2
-rw-r--r--lib/git/cmd.py2
-rw-r--r--lib/git/commit.py2
-rw-r--r--lib/git/diff.py2
-rw-r--r--lib/git/errors.py2
-rw-r--r--lib/git/head.py2
-rw-r--r--lib/git/lazy.py2
-rw-r--r--lib/git/repo.py2
-rw-r--r--lib/git/stats.py2
-rw-r--r--lib/git/tag.py2
-rw-r--r--lib/git/tree.py2
-rw-r--r--lib/git/utils.py2
-rw-r--r--setup.py3
-rw-r--r--test/__init__.py2
-rw-r--r--test/git/__init__.py2
-rw-r--r--test/git/test_actor.py2
-rw-r--r--test/git/test_blob.py2
-rw-r--r--test/git/test_commit.py2
-rw-r--r--test/git/test_diff.py2
-rw-r--r--test/git/test_git.py2
-rw-r--r--test/git/test_head.py2
-rw-r--r--test/git/test_repo.py2
-rw-r--r--test/git/test_stats.py2
-rw-r--r--test/git/test_tag.py2
-rw-r--r--test/git/test_tree.py2
-rw-r--r--test/git/test_utils.py2
-rw-r--r--test/testlib/__init__.py2
-rw-r--r--test/testlib/asserts.py2
-rw-r--r--test/testlib/helper.py2
40 files changed, 612 insertions, 132 deletions
diff --git a/AUTHORS b/AUTHORS
index 9f649ef5..1a70c883 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,8 +1,14 @@
-Michael Trier <mtrier _at_ gmail.com>
-Alan Briolat
-Florian Apolloner <florian _at_ apolloner.eu>
-David Aguilar <davvid _at_ gmail.com>
-Jelmer Vernooij <jelmer _at_ samba.org>
-Steve Frécinaux <code _at_ istique.net>
-Kai Lautaportti <kai _at_ lautaportti.fi>
-Paul Sowden <paul _at_ idontsmoke.co.uk>
+GitPython was originally written by Michael Trier.
+
+Contributors are:
+
+-Michael Trier <mtrier _at_ gmail.com>
+-Alan Briolat
+-Florian Apolloner <florian _at_ apolloner.eu>
+-David Aguilar <davvid _at_ gmail.com>
+-Jelmer Vernooij <jelmer _at_ samba.org>
+-Steve Frécinaux <code _at_ istique.net>
+-Kai Lautaportti <kai _at_ lautaportti.fi>
+-Paul Sowden <paul _at_ idontsmoke.co.uk>
+
+Portions derived from other open source works and are clearly marked.
diff --git a/CHANGES b/CHANGES
index 2826c884..8c67a7e5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,8 @@ CHANGES
General
-------
+* Added in Sphinx documentation.
+
* Removed ambiguity between paths and treeishs. When calling commands that
accept treeish and path arguments and there is a path with the same name as
a treeish git cowardly refuses to pick one and asks for the command to use
diff --git a/LICENSE b/LICENSE
index 6797c142..5a9a6f8d 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2008, Michael Trier and contributors
+Copyright (C) 2008, 2009 Michael Trier and contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 00000000..dbc6dec2
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,75 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html web pickle htmlhelp latex changes linkcheck
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " changes to make an overview over all changed/added/deprecated items"
+ @echo " linkcheck to check all external links for integrity"
+
+clean:
+ -rm -rf _build/*
+
+html:
+ mkdir -p _build/html _build/doctrees
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html
+ @echo
+ @echo "Build finished. The HTML pages are in _build/html."
+
+pickle:
+ mkdir -p _build/pickle _build/doctrees
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) _build/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+web: pickle
+
+json:
+ mkdir -p _build/json _build/doctrees
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) _build/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ mkdir -p _build/htmlhelp _build/doctrees
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) _build/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in _build/htmlhelp."
+
+latex:
+ mkdir -p _build/latex _build/doctrees
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in _build/latex."
+ @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
+ "run these through (pdf)latex."
+
+changes:
+ mkdir -p _build/changes _build/doctrees
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) _build/changes
+ @echo
+ @echo "The overview file is in _build/changes."
+
+linkcheck:
+ mkdir -p _build/linkcheck _build/doctrees
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) _build/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in _build/linkcheck/output.txt."
diff --git a/doc/conf.py b/doc/conf.py
new file mode 100644
index 00000000..c87d2b39
--- /dev/null
+++ b/doc/conf.py
@@ -0,0 +1,191 @@
+# -*- coding: utf-8 -*-
+#
+# GitPython documentation build configuration file, created by
+# sphinx-quickstart on Sat Jan 24 11:51:01 2009.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# The contents of this file are pickled, so don't put values in the namespace
+# that aren't pickleable (module imports are okay, they're removed automatically).
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# If your extensions are in another directory, add it here. If the directory
+# is relative to the documentation root, use os.path.abspath to make it
+# absolute, like shown here.
+#sys.path.append(os.path.abspath('.'))
+sys.path.insert(0, os.path.abspath('../lib'))
+
+# General configuration
+# ---------------------
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest']
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'GitPython'
+copyright = u'Copyright (C) 2008, 2009 Michael Trier and contributors'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = '0.1.6'
+# The full version, including alpha/beta/rc tags.
+release = '0.1.6'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of documents that shouldn't be included in the build.
+#unused_docs = []
+
+# List of directories, relative to source directory, that shouldn't be searched
+# for source files.
+exclude_trees = ['_build']
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+
+# Options for HTML output
+# -----------------------
+
+# The style sheet to use for HTML and HTML Help pages. A file of that name
+# must exist either in Sphinx' static/ path, or in one of the custom paths
+# given in html_static_path.
+html_style = 'default.css'
+
+# The name for this set of Sphinx documents. If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar. Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['static']
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_use_modindex = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, the reST sources are included in the HTML build as _sources/<name>.
+#html_copy_source = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it. The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = ''
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'gitpythondoc'
+
+
+# Options for LaTeX output
+# ------------------------
+
+# The paper size ('letter' or 'a4').
+#latex_paper_size = 'letter'
+
+# The font size ('10pt', '11pt' or '12pt').
+#latex_font_size = '10pt'
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, document class [howto/manual]).
+latex_documents = [
+ ('index', 'GitPython.tex', ur'GitPython Documentation',
+ ur'Michael Trier', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# Additional stuff for the LaTeX preamble.
+#latex_preamble = ''
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_use_modindex = True
diff --git a/doc/index.rst b/doc/index.rst
new file mode 100644
index 00000000..19191272
--- /dev/null
+++ b/doc/index.rst
@@ -0,0 +1,23 @@
+.. GitPython documentation master file, created by sphinx-quickstart on Sat Jan 24 11:51:01 2009.
+ You can adapt this file completely to your liking, but it should at least
+ contain the root `toctree` directive.
+
+GitPython Documentation
+=======================
+
+Contents:
+
+.. toctree::
+ :maxdepth: 3
+
+ intro
+ tutorial
+ reference
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+
diff --git a/doc/intro.rst b/doc/intro.rst
new file mode 100644
index 00000000..c5843a1f
--- /dev/null
+++ b/doc/intro.rst
@@ -0,0 +1,83 @@
+.. _intro_toplevel:
+
+==================
+Overview / Install
+==================
+
+GitPython is a python library used to interact with Git repositories.
+
+GitPython is a port of the grit_ library in Ruby created by
+Tom Preston-Werner and Chris Wanstrath.
+
+.. _grit: http://grit.rubyforge.org
+
+Requirements
+============
+
+* Git_ tested with 1.5.3.7
+* `Python Nose`_ - used for running the tests
+* `Mock by Michael Foord`_ used for tests. Requires 0.4
+
+.. _Git: http://git-scm.com/
+.. _Python Nose: http://code.google.com/p/python-nose/
+.. _Mock by Michael Foord: http://www.voidspace.org.uk/python/mock.html
+
+Installing GitPython
+====================
+
+Installing GitPython is easily done using
+`setuptools`_. Assuming it is
+installed, just run the following from the command-line:
+
+.. sourcecode:: none
+
+ # easy_install GitPython
+
+This command will download the latest version of GitPython from the
+`Python Package Index <http://pypi.python.org/pypi/GitPython>`_ and install it
+to your system. More information about ``easy_install`` and pypi can be found
+here:
+
+* `setuptools`_
+* `install setuptools <http://peak.telecommunity.com/DevCenter/EasyInstall#installation-instructions>`_
+* `pypi <http://pypi.python.org/pypi/SQLAlchemy>`_
+
+.. _setuptools: http://peak.telecommunity.com/DevCenter/setuptools
+
+Alternatively, you can install from the distribution using the ``setup.py``
+script:
+
+.. sourcecode:: none
+
+ # python setup.py install
+
+Getting Started
+===============
+
+* :ref:`tutorial_toplevel` - This tutorial provides a walk-through of some of
+ the basic functionality and concepts used in GitPython. It, however, is not
+ exhaustive so you are encouraged to spend some time in the
+ :ref:`api_reference_toplevel`.
+
+API Reference
+=============
+
+An organized section of the GitPthon API is at :ref:`api_reference_toplevel`.
+
+Source Code
+===========
+
+GitPython's git repo is available on Gitorious, which can be browsed at:
+
+http://gitorious.org/projects/git-python/
+
+and cloned from:
+
+git://gitorious.org/git-python/mainline.git
+
+License Information
+===================
+
+GitPython is licensed under the New BSD License. See the LICENSE file for
+more information.
+
diff --git a/doc/reference.rst b/doc/reference.rst
new file mode 100644
index 00000000..078cbdf6
--- /dev/null
+++ b/doc/reference.rst
@@ -0,0 +1,95 @@
+.. _api_reference_toplevel:
+
+API Reference
+=============
+
+Actor
+-----
+
+.. automodule:: git.actor
+ :members:
+ :undoc-members:
+
+Blob
+----
+
+.. automodule:: git.blob
+ :members:
+ :undoc-members:
+
+Git
+---
+
+.. automodule:: git.cmd
+ :members:
+ :undoc-members:
+
+Commit
+------
+
+.. automodule:: git.commit
+ :members:
+ :undoc-members:
+
+Diff
+----
+
+.. automodule:: git.diff
+ :members:
+ :undoc-members:
+
+Errors
+------
+
+.. automodule:: git.errors
+ :members:
+ :undoc-members:
+
+Head
+----
+
+.. automodule:: git.head
+ :members:
+ :undoc-members:
+
+Lazy
+----
+
+.. automodule:: git.lazy
+ :members:
+ :undoc-members:
+
+Repo
+----
+
+.. automodule:: git.repo
+ :members:
+ :undoc-members:
+
+Stats
+-----
+
+.. automodule:: git.stats
+ :members:
+ :undoc-members:
+
+Tag
+---
+
+.. automodule:: git.tag
+ :members:
+ :undoc-members:
+
+Tree
+----
+
+.. automodule:: git.tree
+ :members:
+ :undoc-members:
+
+Utils
+-----
+
+.. automodule:: git.utils
+ :members:
+ :undoc-members:
diff --git a/doc/tutorial.txt b/doc/tutorial.rst
index 1b100a5e..838fd68e 100644
--- a/doc/tutorial.txt
+++ b/doc/tutorial.rst
@@ -1,6 +1,8 @@
-========
-TUTORIAL
-========
+.. _tutorial_toplevel:
+
+==================
+GitPython Tutorial
+==================
GitPython provides object model access to your git repository. Once you have
created a repository object, you can traverse it to find parent commit(s),
@@ -11,14 +13,14 @@ Initialize a Repo object
The first step is to create a ``Repo`` object to represent your repository.
- >>> from git import *
- >>> repo = Repo("/Users/mtrier/Development/git-python")
+ >>> from git import *
+ >>> repo = Repo("/Users/mtrier/Development/git-python")
In the above example, the directory ``/Users/mtrier/Development/git-python``
is my working repository and contains the ``.git`` directory. You can also
initialize GitPython with a bare repository.
- >>> repo = Repo.create("/var/git/git-python.git")
+ >>> repo = Repo.create("/var/git/git-python.git")
Getting a list of commits
*************************
@@ -26,19 +28,19 @@ Getting a list of commits
From the ``Repo`` object, you can get a list of ``Commit``
objects.
- >>> repo.commits()
- [<git.Commit "207c0c4418115df0d30820ab1a9acd2ea4bf4431">,
- <git.Commit "a91c45eee0b41bf3cdaad3418ca3850664c4a4b4">,
- <git.Commit "e17c7e11aed9e94d2159e549a99b966912ce1091">,
- <git.Commit "bd795df2d0e07d10e0298670005c0e9d9a5ed867">]
+ >>> repo.commits()
+ [<git.Commit "207c0c4418115df0d30820ab1a9acd2ea4bf4431">,
+ <git.Commit "a91c45eee0b41bf3cdaad3418ca3850664c4a4b4">,
+ <git.Commit "e17c7e11aed9e94d2159e549a99b966912ce1091">,
+ <git.Commit "bd795df2d0e07d10e0298670005c0e9d9a5ed867">]
Called without arguments, ``Repo.commits`` returns a list of up to ten commits
reachable by the master branch (starting at the latest commit). You can ask
for commits beginning at a different branch, commit, tag, etc.
- >>> repo.commits('mybranch')
- >>> repo.commits('40d3057d09a7a4d61059bca9dca5ae698de58cbe')
- >>> repo.commits('v0.1')
+ >>> repo.commits('mybranch')
+ >>> repo.commits('40d3057d09a7a4d61059bca9dca5ae698de58cbe')
+ >>> repo.commits('v0.1')
You can specify the maximum number of commits to return.
@@ -55,49 +57,49 @@ The Commit object
Commit objects contain information about a specific commit.
- >>> head = repo.commits()[0]
-
- >>> head.id
- '207c0c4418115df0d30820ab1a9acd2ea4bf4431'
-
- >>> head.parents
- [<git.Commit "a91c45eee0b41bf3cdaad3418ca3850664c4a4b4">]
-
- >>> head.tree
- <git.Tree "563413aedbeda425d8d9dcbb744247d0c3e8a0ac">
-
- >>> head.author
- <git.Actor "Michael Trier <mtrier@gmail.com>">
-
- >>> head.authored_date
- (2008, 5, 7, 5, 0, 56, 2, 128, 0)
-
- >>> head.committer
- <git.Actor "Michael Trier <mtrier@gmail.com>">
-
- >>> head.committed_date
- (2008, 5, 7, 5, 0, 56, 2, 128, 0)
-
- >>> head.message
- 'cleaned up a lot of test information. Fixed escaping so it works with
- subprocess.'
+ >>> head = repo.commits()[0]
+
+ >>> head.id
+ '207c0c4418115df0d30820ab1a9acd2ea4bf4431'
+
+ >>> head.parents
+ [<git.Commit "a91c45eee0b41bf3cdaad3418ca3850664c4a4b4">]
+
+ >>> head.tree
+ <git.Tree "563413aedbeda425d8d9dcbb744247d0c3e8a0ac">
+
+ >>> head.author
+ <git.Actor "Michael Trier <mtrier@gmail.com>">
+
+ >>> head.authored_date
+ (2008, 5, 7, 5, 0, 56, 2, 128, 0)
+
+ >>> head.committer
+ <git.Actor "Michael Trier <mtrier@gmail.com>">
+
+ >>> head.committed_date
+ (2008, 5, 7, 5, 0, 56, 2, 128, 0)
+
+ >>> head.message
+ 'cleaned up a lot of test information. Fixed escaping so it works with
+ subprocess.'
Note: date time is represented in a `struct_time`_ format. Conversion to
human readable form can be accomplished with the various time module methods.
- >>> import time
- >>> time.asctime(head.committed_date)
- 'Wed May 7 05:56:02 2008'
+ >>> import time
+ >>> time.asctime(head.committed_date)
+ 'Wed May 7 05:56:02 2008'
- >>> time.strftime("%a, %d %b %Y %H:%M", head.committed_date)
- 'Wed, 7 May 2008 05:56'
+ >>> time.strftime("%a, %d %b %Y %H:%M", head.committed_date)
+ 'Wed, 7 May 2008 05:56'
-.. _struct_time: http://docs.python.org/lib/module-time.html
+.. _struct_time: http://docs.python.org/library/time.html
You can traverse a commit's ancestry by chaining calls to ``parents``.
- >>> repo.commits()[0].parents[0].parents[0].parents[0]
-
+ >>> repo.commits()[0].parents[0].parents[0].parents[0]
+
The above corresponds to ``master^^^`` or ``master~3`` in git parlance.
The Tree object
@@ -106,19 +108,19 @@ The Tree object
A tree records pointers to the contents of a directory. Let's say you want
the root tree of the latest commit on the master branch.
- >>> tree = repo.commits()[0].tree
- <git.Tree "a006b5b1a8115185a228b7514cdcd46fed90dc92">
+ >>> tree = repo.commits()[0].tree
+ <git.Tree "a006b5b1a8115185a228b7514cdcd46fed90dc92">
+
+ >>> tree.id
+ 'a006b5b1a8115185a228b7514cdcd46fed90dc92'
- >>> tree.id
- 'a006b5b1a8115185a228b7514cdcd46fed90dc92'
-
Once you have a tree, you can get the contents.
- >>> contents = tree.values()
- [<git.Blob "6a91a439ea968bf2f5ce8bb1cd8ddf5bf2cad6c7">,
- <git.Blob "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391">,
- <git.Tree "eaa0090ec96b054e425603480519e7cf587adfc3">,
- <git.Blob "980e72ae16b5378009ba5dfd6772b59fe7ccd2df">]
+ >>> contents = tree.values()
+ [<git.Blob "6a91a439ea968bf2f5ce8bb1cd8ddf5bf2cad6c7">,
+ <git.Blob "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391">,
+ <git.Tree "eaa0090ec96b054e425603480519e7cf587adfc3">,
+ <git.Blob "980e72ae16b5378009ba5dfd6772b59fe7ccd2df">]
The tree is implements a dictionary protocol so it can be used and acts just
like a dictionary with some additional properties.
@@ -141,61 +143,61 @@ This tree contains three ``Blob`` objects and one ``Tree`` object. The trees
are subdirectories and the blobs are files. Trees below the root have
additional attributes.
- >>> contents = tree["lib"]
- <git.Tree "c1c7214dde86f76bc3e18806ac1f47c38b2b7a3">
-
- >>> contents.name
- 'test'
-
- >>> contents.mode
- '040000'
-
+ >>> contents = tree["lib"]
+ <git.Tree "c1c7214dde86f76bc3e18806ac1f47c38b2b7a3">
+
+ >>> contents.name
+ 'test'
+
+ >>> contents.mode
+ '040000'
+
There is a convenience method that allows you to get a named sub-object
from a tree with a syntax similar to how paths are written in an unix
system.
- >>> tree/"lib"
- <git.Tree "c1c7214dde86f76bc3e18806ac1f47c38b2b7a30">
-
+ >>> tree/"lib"
+ <git.Tree "c1c7214dde86f76bc3e18806ac1f47c38b2b7a30">
+
You can also get a tree directly from the repository if you know its name.
- >>> repo.tree()
- <git.Tree "master">
-
- >>> repo.tree("c1c7214dde86f76bc3e18806ac1f47c38b2b7a30")
- <git.Tree "c1c7214dde86f76bc3e18806ac1f47c38b2b7a30">
+ >>> repo.tree()
+ <git.Tree "master">
+
+ >>> repo.tree("c1c7214dde86f76bc3e18806ac1f47c38b2b7a30")
+ <git.Tree "c1c7214dde86f76bc3e18806ac1f47c38b2b7a30">
The Blob object
***************
A blob represents a file. Trees often contain blobs.
- >>> blob = tree['urls.py']
- <git.Blob "b19574431a073333ea09346eafd64e7b1908ef49">
+ >>> blob = tree['urls.py']
+ <git.Blob "b19574431a073333ea09346eafd64e7b1908ef49">
A blob has certain attributes.
- >>> blob.name
- 'urls.py'
-
- >>> blob.mode
- '100644'
-
- >>> blob.mime_type
- 'text/x-python'
-
- >>> blob.size
- 415
-
+ >>> blob.name
+ 'urls.py'
+
+ >>> blob.mode
+ '100644'
+
+ >>> blob.mime_type
+ 'text/x-python'
+
+ >>> blob.size
+ 415
+
You can get the data of a blob as a string.
- >>> blob.data
- "from django.conf.urls.defaults import *\nfrom django.conf..."
+ >>> blob.data
+ "from django.conf.urls.defaults import *\nfrom django.conf..."
You can also get a blob directly from the repo if you know its name.
- >>> repo.blob("b19574431a073333ea09346eafd64e7b1908ef49")
- <git.Blob "b19574431a073333ea09346eafd64e7b1908ef49">
+ >>> repo.blob("b19574431a073333ea09346eafd64e7b1908ef49")
+ <git.Blob "b19574431a073333ea09346eafd64e7b1908ef49">
What Else?
**********
diff --git a/lib/git/__init__.py b/lib/git/__init__.py
index 3e2558c2..28d14d0c 100644
--- a/lib/git/__init__.py
+++ b/lib/git/__init__.py
@@ -1,5 +1,5 @@
# __init__.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/actor.py b/lib/git/actor.py
index 901e52af..cdcc02f8 100644
--- a/lib/git/actor.py
+++ b/lib/git/actor.py
@@ -1,5 +1,5 @@
# actor.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/blob.py b/lib/git/blob.py
index a79cd81c..82f92ce3 100644
--- a/lib/git/blob.py
+++ b/lib/git/blob.py
@@ -1,5 +1,5 @@
# blob.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/cmd.py b/lib/git/cmd.py
index c7ec38f6..9cbad673 100644
--- a/lib/git/cmd.py
+++ b/lib/git/cmd.py
@@ -1,5 +1,5 @@
# cmd.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/commit.py b/lib/git/commit.py
index f8c7e61f..2b19ea42 100644
--- a/lib/git/commit.py
+++ b/lib/git/commit.py
@@ -1,5 +1,5 @@
# commit.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/diff.py b/lib/git/diff.py
index 7a6770c4..0216e061 100644
--- a/lib/git/diff.py
+++ b/lib/git/diff.py
@@ -1,5 +1,5 @@
# diff.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/errors.py b/lib/git/errors.py
index 0cf29c79..bf882d33 100644
--- a/lib/git/errors.py
+++ b/lib/git/errors.py
@@ -1,5 +1,5 @@
# errors.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/head.py b/lib/git/head.py
index c56bb1fa..86686f17 100644
--- a/lib/git/head.py
+++ b/lib/git/head.py
@@ -1,5 +1,5 @@
# head.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/lazy.py b/lib/git/lazy.py
index 7f39c304..5e470181 100644
--- a/lib/git/lazy.py
+++ b/lib/git/lazy.py
@@ -1,5 +1,5 @@
# lazy.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/repo.py b/lib/git/repo.py
index a714eea1..b7ffcb61 100644
--- a/lib/git/repo.py
+++ b/lib/git/repo.py
@@ -1,5 +1,5 @@
# repo.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/stats.py b/lib/git/stats.py
index 7821518f..74a23126 100644
--- a/lib/git/stats.py
+++ b/lib/git/stats.py
@@ -1,5 +1,5 @@
# stats.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/tag.py b/lib/git/tag.py
index e780d2ba..f7bc140e 100644
--- a/lib/git/tag.py
+++ b/lib/git/tag.py
@@ -1,5 +1,5 @@
# tag.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/tree.py b/lib/git/tree.py
index ccada195..dea10908 100644
--- a/lib/git/tree.py
+++ b/lib/git/tree.py
@@ -1,5 +1,5 @@
# tree.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/lib/git/utils.py b/lib/git/utils.py
index 7709b4eb..5d0ba8ca 100644
--- a/lib/git/utils.py
+++ b/lib/git/utils.py
@@ -1,5 +1,5 @@
# utils.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/setup.py b/setup.py
index 27107430..8df94a33 100644
--- a/setup.py
+++ b/setup.py
@@ -74,7 +74,10 @@ Tom Preston-Werner and Chris Wanstrath.
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
+ "Operating System :: OS Independent",
"Programming Language :: Python",
+ "Programming Language :: Python :: 2.5",
+ "Programming Language :: Python :: 2.6",
"Topic :: Software Development :: Libraries :: Python Modules",
]
)
diff --git a/test/__init__.py b/test/__init__.py
index 9255d20b..757cbad1 100644
--- a/test/__init__.py
+++ b/test/__init__.py
@@ -1,5 +1,5 @@
# __init__.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/git/__init__.py b/test/git/__init__.py
index 9255d20b..757cbad1 100644
--- a/test/git/__init__.py
+++ b/test/git/__init__.py
@@ -1,5 +1,5 @@
# __init__.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/git/test_actor.py b/test/git/test_actor.py
index 76b0ecc9..862010fc 100644
--- a/test/git/test_actor.py
+++ b/test/git/test_actor.py
@@ -1,5 +1,5 @@
# test_actor.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/git/test_blob.py b/test/git/test_blob.py
index fb7fc890..8f83f391 100644
--- a/test/git/test_blob.py
+++ b/test/git/test_blob.py
@@ -1,5 +1,5 @@
# test_blob.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/git/test_commit.py b/test/git/test_commit.py
index 4af13d80..3e37a7a4 100644
--- a/test/git/test_commit.py
+++ b/test/git/test_commit.py
@@ -1,5 +1,5 @@
# test_commit.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/git/test_diff.py b/test/git/test_diff.py
index 94ac03e0..65a27e98 100644
--- a/test/git/test_diff.py
+++ b/test/git/test_diff.py
@@ -1,5 +1,5 @@
# test_diff.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/git/test_git.py b/test/git/test_git.py
index 3a3dc564..6e28f4c0 100644
--- a/test/git/test_git.py
+++ b/test/git/test_git.py
@@ -1,5 +1,5 @@
# test_git.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/git/test_head.py b/test/git/test_head.py
index b9b1ac4f..e3408974 100644
--- a/test/git/test_head.py
+++ b/test/git/test_head.py
@@ -1,5 +1,5 @@
# test_head.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/git/test_repo.py b/test/git/test_repo.py
index 8b767744..6b82d029 100644
--- a/test/git/test_repo.py
+++ b/test/git/test_repo.py
@@ -1,5 +1,5 @@
# test_repo.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/git/test_stats.py b/test/git/test_stats.py
index 4546eea1..b6f1b60e 100644
--- a/test/git/test_stats.py
+++ b/test/git/test_stats.py
@@ -1,5 +1,5 @@
# test_stats.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/git/test_tag.py b/test/git/test_tag.py
index a8b128b1..732bbd45 100644
--- a/test/git/test_tag.py
+++ b/test/git/test_tag.py
@@ -1,5 +1,5 @@
# test_tag.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/git/test_tree.py b/test/git/test_tree.py
index 487c5dad..c9fc2640 100644
--- a/test/git/test_tree.py
+++ b/test/git/test_tree.py
@@ -1,5 +1,5 @@
# test_tree.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/git/test_utils.py b/test/git/test_utils.py
index e6baf3ea..327a07ed 100644
--- a/test/git/test_utils.py
+++ b/test/git/test_utils.py
@@ -1,5 +1,5 @@
# test_utils.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/testlib/__init__.py b/test/testlib/__init__.py
index bfa38d6e..77512794 100644
--- a/test/testlib/__init__.py
+++ b/test/testlib/__init__.py
@@ -1,5 +1,5 @@
# __init__.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/testlib/asserts.py b/test/testlib/asserts.py
index 5021e7c0..f66af122 100644
--- a/test/testlib/asserts.py
+++ b/test/testlib/asserts.py
@@ -1,5 +1,5 @@
# asserts.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
diff --git a/test/testlib/helper.py b/test/testlib/helper.py
index 3d6b33dc..ca262ee4 100644
--- a/test/testlib/helper.py
+++ b/test/testlib/helper.py
@@ -1,5 +1,5 @@
# helper.py
-# Copyright (C) 2008 Michael Trier (mtrier@gmail.com) and contributors
+# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php