Fraser Tweedale 74b1628e51 test utils: implement a repo context manager
The current hierarchy of test cases that create and blow away test
repositories in the ``setUp`` and ``tearDown`` methods is inadequate
for testing scenarios where multiple repositories must be edited,
e.g.  testing push.

Extract the temporary repository behaviour into a context manager
class ``TemporaryRepository`` which can be used via the ``with``
keyword.  The context manager's ``__enter__` method returns creates
the specified repository in a temporary directory and returns its
path.  The temporary directory is removed in ``__exit__``.

Update the existing test case base classes to use the context
manager and invoke ``__enter__`` and ``__exit__`` in the ``setUp``
and ``tearDown`` methods respectively.

Finally, make some small tweaks to a handful of tests to get them
working under this new system.
2013-08-30 17:25:18 +10:00
2013-07-13 12:04:14 +02:00
2013-05-24 23:30:27 +02:00
2013-05-26 14:39:12 +02:00
2012-07-17 15:44:37 +02:00
2013-07-13 12:04:14 +02:00
2013-06-20 09:26:43 +02:00
2012-07-24 12:40:02 +02:00

pygit2 - libgit2 bindings in Python

image

Pygit2 is a set of Python bindings to the libgit2 shared library, libgit2 implements the core of Git. Pygit2 works with Python 2.6, 2.7, 3.1, 3.2 and 3.3

Pygit2 links:

Quick install guide

  1. Checkout the libgit2 stable branch:

    $ git clone git://github.com/libgit2/libgit2.git -b master
  2. Build and install libgit2 https://github.com/libgit2/libgit2/#building-libgit2---using-cmake

  3. Install pygit2 with pip:

    $ pip install pygit2

For detailed instructions check the documentation, http://www.pygit2.org/install.html

Contributing

Fork libgit2/pygit2 on GitHub, make it awesomer (preferably in a branch named for the topic), send a pull request.

Authors

This is the list of authors of pygit2, sorted by number of commits (as shown by git shortlog -sn):

  • J David Ibáñez
  • Nico von Geyso
  • W Trevor King
  • Dave Borowitz
  • Carlos Martín Nieto
  • Daniel Rodríguez Troitiño
  • Richo Healey
  • Christian Boos
  • Julien Miotte
  • Martin Lenders
  • Xavier Delannoy
  • Yonggang Luo
  • Valentin Haenel
  • Bernardo Heynemann
  • John Szakmeister
  • David Versmisse
  • Petr Hosek
  • Rémi Duraffort
  • Sebastian Thiel
  • Han-Wen Nienhuys
  • Petr Viktorin
  • Alex Chamberlain
  • Amit Bakshi
  • Andrey Devyatkin
  • Ben Davis
  • Hervé Cauwelier
  • Jared Flatow
  • Jiunn Haur Lim
  • Sarath Lakshman
  • Vicent Marti
  • Zoran Zaric
  • András Veres-Szentkirályi
  • Benjamin Kircher
  • Benjamin Pollack
  • Bryan O'Sullivan
  • David Fischer
  • David Sanders
  • Eric Davis
  • Eric Schrijver
  • Erik van Zijst
  • Ferengee
  • Fraser Tweedale
  • Hugh Cole-Baker
  • Josh Bleecher Snyder
  • Jun Omae
  • Ridge Kennedy
  • Rui Abreu Ferreira
  • Xu Tao
  • pistacchio

License

GPLv2 with linking exception.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation.

In addition to the permissions in the GNU General Public License, the authors give you unlimited permission to link the compiled version of this file into combinations with other programs, and to distribute those combinations without any restriction coming from the use of this file. (The General Public License restrictions do apply in other respects; for example, they cover modification of the file, and distribution when not linked into a combined executable.)

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Description
RETIRED, further work has moved to Debian project infrastructure
Readme 2 MiB
Languages
C 50.5%
Python 49.5%