[Python-modules-commits] [dulwich] 02/07: New upstream version 0.18.0
Jelmer Vernooij
jelmer at moszumanska.debian.org
Mon Jul 31 01:38:55 UTC 2017
This is an automated email from the git hooks/post-receive script.
jelmer pushed a commit to branch master
in repository dulwich.
commit e82e290e4b1e75ed6632c821c9a7cb2f56812181
Author: Jelmer Vernooij <jelmer at jelmer.uk>
Date: Mon Jul 31 01:22:14 2017 +0000
New upstream version 0.18.0
---
.travis.yml | 5 +-
AUTHORS | 137 ++++++++-
Makefile | 4 +
NEWS | 239 +++++++++-------
PKG-INFO | 9 +-
README.md | 38 +++
appveyor.yml | 91 +++++-
bin/dulwich | 13 +
docs/conf.py | 91 +++---
docs/tutorial/file-format.txt | 4 +-
docs/tutorial/porcelain.txt | 6 +
docs/tutorial/remote.txt | 2 +-
dulwich.egg-info/PKG-INFO | 9 +-
dulwich.egg-info/SOURCES.txt | 2 +
dulwich/__init__.py | 2 +-
dulwich/_diff_tree.c | 12 +-
dulwich/_objects.c | 14 +-
dulwich/_pack.c | 21 +-
dulwich/archive.py | 12 +-
dulwich/client.py | 191 ++++++++-----
dulwich/config.py | 29 +-
dulwich/contrib/paramiko_vendor.py | 3 +-
dulwich/contrib/swift.py | 15 +-
dulwich/contrib/test_swift.py | 28 +-
dulwich/contrib/test_swift_smoke.py | 18 +-
dulwich/diff_tree.py | 26 +-
dulwich/errors.py | 13 +-
dulwich/fastexport.py | 51 ++--
dulwich/file.py | 20 +-
dulwich/ignore.py | 358 ++++++++++++++++++++++++
dulwich/index.py | 57 +++-
dulwich/log_utils.py | 3 +-
dulwich/object_store.py | 76 ++---
dulwich/objects.py | 105 ++++---
dulwich/objectspec.py | 19 +-
dulwich/pack.py | 110 ++++----
dulwich/patch.py | 30 +-
dulwich/porcelain.py | 270 +++++++++++++-----
dulwich/protocol.py | 32 ++-
dulwich/reflog.py | 8 +-
dulwich/refs.py | 44 +--
dulwich/repo.py | 61 +++--
dulwich/server.py | 119 ++++----
dulwich/tests/__init__.py | 28 +-
dulwich/tests/compat/__init__.py | 1 +
dulwich/tests/compat/server_utils.py | 54 ++--
dulwich/tests/compat/test_client.py | 80 +++---
dulwich/tests/compat/test_pack.py | 1 +
dulwich/tests/compat/test_repository.py | 16 +-
dulwich/tests/compat/test_server.py | 8 +-
dulwich/tests/compat/test_web.py | 14 +-
dulwich/tests/compat/utils.py | 4 +-
dulwich/tests/test_archive.py | 1 -
dulwich/tests/test_client.py | 112 +++++---
dulwich/tests/test_config.py | 39 ++-
dulwich/tests/test_diff_tree.py | 132 +++++----
dulwich/tests/test_fastexport.py | 76 +++--
dulwich/tests/test_greenthreads.py | 23 +-
dulwich/tests/test_ignore.py | 260 ++++++++++++++++++
dulwich/tests/test_index.py | 114 ++++----
dulwich/tests/test_lru_cache.py | 57 ++--
dulwich/tests/test_missing_obj_finder.py | 64 +++--
dulwich/tests/test_object_store.py | 51 ++--
dulwich/tests/test_objects.py | 123 +++++----
dulwich/tests/test_objectspec.py | 38 ++-
dulwich/tests/test_pack.py | 94 ++++---
dulwich/tests/test_patch.py | 134 +++++----
dulwich/tests/test_porcelain.py | 457 ++++++++++++++++++++++---------
dulwich/tests/test_protocol.py | 21 +-
dulwich/tests/test_reflog.py | 12 +-
dulwich/tests/test_refs.py | 40 ++-
dulwich/tests/test_repository.py | 243 +++++++++-------
dulwich/tests/test_server.py | 73 +++--
dulwich/tests/test_walk.py | 32 ++-
dulwich/tests/test_web.py | 34 ++-
dulwich/tests/utils.py | 25 +-
dulwich/walk.py | 36 +--
dulwich/web.py | 28 +-
setup.py | 50 ++--
79 files changed, 3419 insertions(+), 1553 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index e8214ae..2753c29 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -23,7 +23,7 @@ matrix:
env: TEST_REQUIRE=fastimport
install:
- - travis_retry pip install -U pip coverage codecov $TEST_REQUIRE
+ - travis_retry pip install -U pip coverage codecov flake8 $TEST_REQUIRE
script:
# Test without c extensions
@@ -33,6 +33,9 @@ script:
- python setup.py build_ext -i
- python -m coverage run -p --source=dulwich -m unittest dulwich.tests.test_suite
+ # Style
+ - make style
+
after_success:
- python -m coverage combine
- codecov
diff --git a/AUTHORS b/AUTHORS
index 525aacf..252f804 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,11 +1,132 @@
-Jelmer Vernooij <jelmer at jelmer.uk>
-James Westby <jw+debian at jameswestby.net>
-John Carr <john.carr at unrouted.co.uk>
+Jelmer Vernooij <jelmer at jelmer.uk>
Dave Borowitz <dborowitz at google.com>
-Chris Eberle <eberle1080 at gmail.com>
-"milki" <milki at rescomp.berkeley.edu>
+John Carr <john.carr at unrouted.co.uk>
Gary van der Merwe <garyvdm at gmail.com>
+milki <milki at rescomp.berkeley.edu>
+Augie Fackler <durin42 at gmail.com>
+Tay Ray Chuan <rctay89 at gmail.com>
+Risto Kankkunen <risto.kankkunen at iki.fi>
+Jonas Haag <jonas at lophus.org>
+Fabien Boucher <fabien.boucher at enovance.com>
+James Westby <jw+debian at jameswestby.net>
+Mike Edgar <adgar at google.com>
+Koen Martens <gmc at sonologic.nl>
+Abderrahim Kitouni <a.kitouni at gmail.com>
+William Grant <william.grant at canonical.com>
+Marcin Kuzminski <marcin at python-works.com>
+Ryan Faulkner <rfaulk at yahoo-inc.com>
+Julian Berman <Julian at GrayVines.com>
+Mark Mikofski <mark.mikofski at sunpowercorp.com>
+Michael K <michael-k at users.noreply.github.com>
+Ali Sabil <ali.sabil at gmail.com>
+Damien Tournoud <damien at commerceguys.com>
+Hannu Valtonen <hannu.valtonen at ohmu.fi>
+Mika Mäenpää <mika.j.maenpaa at iki.fi>
+Paul Hummer <paul at eventuallyanyway.com>
+Lele Gaifax <lele at metapensiero.it>
+Lukasz Balcerzak <lukasz.balcerzak at python-center.org>
+Tommy Yu <tommy.yu at auckland.ac.nz>
+anatoly techtonik <techtonik at gmail.com>
+bmcorser <bmcorser at gmail.com>
+Brendan Cully <brendan at kublai.com>
+Chow Loong Jin <hyperair at debian.org>
+Chris Eberle <eberle1080 at gmail.com>
+Dmitriy <dkomarov at gmail.com>
+Hervé Cauwelier <herve at oursours.net>
+Hugo Osvaldo Barrera <hugo at barrera.io>
+Jameson Nash <jameson at mit.edu>
+Marc Brinkmann <git at marcbrinkmann.de>
+Nicolas Dandrimont <nicolas at dandrimont.eu>
+Robert Brown <robert.brown at gmail.com>
+Siddharth Agarwal <sid0 at fb.com>
+Stefan Zimmermann <zimmermann.code at gmail.com>
+Takeshi Kanemoto <tak.kanemoto at gmail.com>
+Yifan Zhang <yifan at wavii.com>
+Aaron O'Mullan <aaron.omullan at friendco.de>
+Adam "Cezar" Jenkins <emperorcezar at gmail.com>
+Alberto Ruiz <aruiz at gnome.org>
+Alexander Belchenko <bialix at ukr.net>
+Andreas Kloeckner <inform at tiker.net>
+André Roth <neolynx at gmail.com>
+Benjamin Pollack <benjamin at bitquabit.com>
+Benoit HERVIER <khertan at khertan.net>
+Dan Callaghan <dcallagh at redhat.com>
+David Keijser <david.keijser at klarna.com>
+David Ostrovsky <david at ostrovsky.org>
+David Pursehouse <david.pursehouse at gmail.com>
+Dmitrij D. Czarkoff <czarkoff at gmail.com>
+Doug Hellmann <doug at doughellmann.com>
+Dov Feldstern <dovdevel at gmail.com>
+Félix Mattrat <felix at dysosmus.net>
+Hwee Miin Koh <hwee-miin.koh at ubisoft.com>
+Jason R. Coombs <jaraco at jaraco.com>
+Jeremy Whitlock <jcscoobyrs at gmail.com>
+John Arbash Meinel <john at arbash-meinel.com>
+Laurent Rineau <laurent.rineau at cgal.org>
+Martin Packman <gzlist at googlemail.com>
+Max Shawabkeh <max99x at gmail.com>
+Michael Hudson <michael.hudson at canonical.com>
+Nick Stenning <nick at whiteink.com>
+Nick Ward <ward.nickjames at gmail.com>
+Paul Chen <lancevdance at gmail.com>
+Roland Mas <lolando at debian.org>
+Ronald Blaschke <ron at rblasch.org>
+Ronny Pfannschmidt <Ronny.Pfannschmidt at gmx.de>
+Ross Light <ross at zombiezen.com>
+Ryan McKern <ryan at orangefort.com>
+Ted Horst <ted.horst at earthlink.net>
+Thomas Liebetraut <thomas at tommie-lie.de>
+Timo Schmid <info at bluec0re.eu>
+Víðir Valberg Guðmundsson <vidir.valberg at orn.li>
+dak180 <dak180 at users.sourceforge.net>
+Akbar Gumbira <akbargumbira at gmail.com>
+Alex Holmes <alex.holmes at isotoma.com>
+Andi McClure <andi.m.mcclure at gmail.com>
+Andres Lowrie <andres.lowrie at gmail.com>
+Artem Tikhomirov <artem.tikhomirov at syntevo.com>
+Brian Visel <eode at eptitude.net>
+Bruce Duncan <Bruce.Duncan at ed.ac.uk>
+Bruno Renié <brutasse at gmail.com>
+Chaiwat Suttipongsakul <cwt at bashell.com>
+Chris Bunney <crbunney at users.noreply.github.com>
+Chris Reid <chris at reidsy.com>
+Daniele Sluijters <daniele.sluijters at gmail.com>
+David Bennett <davbennett at google.com>
+David Blewett <davidb at sixfeetup.com>
+David Carr <david at carrclan.us>
+Dirk <dirk at opani.com>
+Elan Ruusamäe <glen at delfi.ee>
+Forrest Hopkins <fingerheroes at gmail.com>
+Hal Wine <hal.wine at gmail.com>
+Hans Kolek <hkolek at gmail.com>
+Jakub Wilk <jwilk at jwilk.net>
+JonChu <jchonphoenix at gmail.com>
+Kostis Anagnostopoulos <ankostis at gmail.com>
+Kyle Kelly <kkelly at yelp.com>
+Lionel Flandrin <lionel at svkt.org>
+Max Bowsher <_ at maxb.eu>
+Mike Williams <miwilliams at google.com>
+Mikhail Terekhov <terekhov at emc.com>
+Nix <nix at esperi.co.uk>
+OnMaster <wme at CONTACT.DE>
+Pascal Quantin <pascal.quantin at gmail.com>
+Ricardo Salveti <ricardo.salveti at openbossa.org>
+Rod Cloutier <rodcloutier at gmail.com>
+Sam Vilain <svilain at saymedia.com>
+Stefano Rivera <stefano at rivera.za.net>
+Steven Myint <git at stevenmyint.com>
+Søren Løvborg <sorenl at unity3d.com>
+Travis Cline <travis.cline at gmail.com>
+Victor Stinner <vstinner at redhat.com>
+Volodymyr Holovko <vholovko at gmail.com>
+Yuval Langer <yuval.langer at gmail.com>
+codingtony <tony.bussieres at gmail.com>
+jon bain <jsbain at yahoo.com>
+kwatters <kwatters at tagged.com>
+max <max0d41 at github.com>
+Segev Finer <segev208 at gmail.com>
+fviolette <fviolette at talend.com>
+dzhuang <dzhuang.scut at gmail.com>
+Antoine Pietri <antoine.pietri1 at gmail.com>
-Hervé Cauwelier <herve at itaapy.com> wrote the original tutorial.
-
-See the revision history for a full list of contributors.
+If you contributed but are missing from this list, please send me an e-mail.
diff --git a/Makefile b/Makefile
index dee0a3c..d8783cb 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,7 @@
PYTHON = python
PYFLAKES = pyflakes
PEP8 = pep8
+FLAKE8 ?= flake8
SETUP = $(PYTHON) setup.py
PYDOCTOR ?= pydoctor
TESTRUNNER ?= unittest
@@ -57,6 +58,9 @@ flakes:
pep8:
$(PEP8) dulwich
+style:
+ $(FLAKE8) --exclude=build,.git,build-pypy,.tox
+
before-push: check
git diff origin/master | $(PEP8) --diff
diff --git a/NEWS b/NEWS
index 3d416eb..2247bda 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,56 @@
+0.18.0 2017-07-31
+
+ BUG FIXES
+
+ * Fix remaining tests on Windows. (Jelmer Vernooij, #493)
+
+ * Fix build of C extensions with Python 3 on Windows.
+ (Jelmer Vernooij)
+
+ * Pass 'mkdir' argument onto Repo.init_bare in Repo.clone.
+ (Jelmer Vernooij, #504)
+
+ * In ``dulwich.porcelain.add``, if no files are specified,
+ add from current working directory rather than repository root.
+ (Jelmer Vernooij, #521)
+
+ * Properly deal with submodules in 'porcelain.status'.
+ (Jelmer Vernooij, #517)
+
+ * ``dulwich.porcelain.remove`` now actually removes files from
+ disk, not just from the index. (Jelmer Vernooij, #488)
+
+ * Fix handling of "reset" command with markers and without
+ "from". (Antoine Pietri)
+
+ * Fix handling of "merge" command with markers. (Antoine Pietri)
+
+ * Support treeish argument to porcelain.reset(), rather than
+ requiring a ref/commit id. (Jelmer Vernooij)
+
+ * Handle race condition when mtime doesn't change between writes/reads.
+ (Jelmer Vernooij, #541)
+
+ * Fix ``dulwich.porcelain.show`` on commits with Python 3.
+ (Jelmer Vernooij, #532)
+
+ IMPROVEMENTS
+
+ * Add basic support for reading ignore files in ``dulwich.ignore``.
+ ``dulwich.porcelain.add`` and ``dulwich.porcelain.status`` now honor
+ ignores. (Jelmer Vernooij, Segev Finer, #524, #526)
+
+ * New ``dulwich.porcelain.check_ignore`` command.
+ (Jelmer Vernooij)
+
+ * ``dulwich.porcelain.status`` now supports a ``ignored`` argument.
+ (Jelmer Vernooij)
+
+ DOCUMENTATION
+
+ * Clarified docstrings for Client.{send_pack,fetch_pack} implementations.
+ (Jelmer Vernooij, #523)
+
0.17.3 2017-03-20
PLATFORM SUPPORT
@@ -12,62 +65,62 @@
BUG FIXES
- * Add workaround for
- https://bitbucket.org/pypy/pypy/issues/2499/cpyext-pystring_asstring-doesnt-work,
- fixing Dulwich when used with C extensions on pypy < 5.6. (Victor Stinner)
+ * Add workaround for
+ https://bitbucket.org/pypy/pypy/issues/2499/cpyext-pystring_asstring-doesnt-work,
+ fixing Dulwich when used with C extensions on pypy < 5.6. (Victor Stinner)
- * Properly quote config values with a '#' character in them.
- (Jelmer Vernooij, #511)
+ * Properly quote config values with a '#' character in them.
+ (Jelmer Vernooij, #511)
0.17.1 2017-03-01
IMPROVEMENTS
- * Add basic 'dulwich pull' command. (Jelmer Vernooij)
+ * Add basic 'dulwich pull' command. (Jelmer Vernooij)
BUG FIXES
- * Cope with existing submodules during pull.
- (Jelmer Vernooij, #505)
+ * Cope with existing submodules during pull.
+ (Jelmer Vernooij, #505)
0.17.0 2017-03-01
TEST FIXES
- * Skip test that requires sync to synchronize filesystems if os.sync is
- not available. (Koen Martens)
+ * Skip test that requires sync to synchronize filesystems if os.sync is
+ not available. (Koen Martens)
IMPROVEMENTS
- * Implement MemoryRepo.{set_description,get_description}.
- (Jelmer Vernooij)
+ * Implement MemoryRepo.{set_description,get_description}.
+ (Jelmer Vernooij)
- * Raise exception in Repo.stage() when absolute paths are
- passed in. Allow passing in relative paths to
- porcelain.add().(Jelmer Vernooij)
+ * Raise exception in Repo.stage() when absolute paths are
+ passed in. Allow passing in relative paths to
+ porcelain.add().(Jelmer Vernooij)
BUG FIXES
- * Handle multi-line quoted values in config files.
- (Jelmer Vernooij, #495)
+ * Handle multi-line quoted values in config files.
+ (Jelmer Vernooij, #495)
- * Allow porcelain.clone of repository without HEAD.
- (Jelmer Vernooij, #501)
+ * Allow porcelain.clone of repository without HEAD.
+ (Jelmer Vernooij, #501)
- * Support passing tag ids to Walker()'s include argument.
- (Jelmer Vernooij)
+ * Support passing tag ids to Walker()'s include argument.
+ (Jelmer Vernooij)
- * Don't strip trailing newlines from extra headers.
- (Nicolas Dandrimont)
+ * Don't strip trailing newlines from extra headers.
+ (Nicolas Dandrimont)
- * Set bufsize=0 for subprocess interaction with SSH client.
- Fixes hangs on Python 3. (René Stern, #434)
+ * Set bufsize=0 for subprocess interaction with SSH client.
+ Fixes hangs on Python 3. (René Stern, #434)
- * Don't drop first slash for SSH paths, except for those
- starting with "~". (Jelmer Vernooij, René Stern, #463)
+ * Don't drop first slash for SSH paths, except for those
+ starting with "~". (Jelmer Vernooij, René Stern, #463)
- * Properly log off after retrieving just refs.
- (Jelmer Vernooij)
+ * Properly log off after retrieving just refs.
+ (Jelmer Vernooij)
0.16.3 2016-01-14
@@ -505,51 +558,51 @@ API CHANGES
IMPROVEMENTS
- * Add support for recursive add in 'git add'.
- (Ryan Faulkner, Jelmer Vernooij)
+ * Add support for recursive add in 'git add'.
+ (Ryan Faulkner, Jelmer Vernooij)
- * Add porcelain 'list_tags'. (Ryan Faulkner)
+ * Add porcelain 'list_tags'. (Ryan Faulkner)
- * Add porcelain 'push'. (Ryan Faulkner)
+ * Add porcelain 'push'. (Ryan Faulkner)
- * Add porcelain 'pull'. (Ryan Faulkner)
+ * Add porcelain 'pull'. (Ryan Faulkner)
- * Support 'http.proxy' in HttpGitClient.
- (Jelmer Vernooij, #1096030)
+ * Support 'http.proxy' in HttpGitClient.
+ (Jelmer Vernooij, #1096030)
- * Support 'http.useragent' in HttpGitClient.
- (Jelmer Vernooij)
+ * Support 'http.useragent' in HttpGitClient.
+ (Jelmer Vernooij)
- * In server, wait for clients to send empty list of
- wants when talking to empty repository.
- (Damien Tournoud)
+ * In server, wait for clients to send empty list of
+ wants when talking to empty repository.
+ (Damien Tournoud)
- * Various changes to improve compatibility with
- Python 3. (Gary van der Merwe)
+ * Various changes to improve compatibility with
+ Python 3. (Gary van der Merwe)
BUG FIXES
- * Support unseekable 'wsgi.input' streams.
- (Jonas Haag)
+ * Support unseekable 'wsgi.input' streams.
+ (Jonas Haag)
- * Raise TypeError when passing unicode() object
- to Repo.__getitem__.
- (Jonas Haag)
+ * Raise TypeError when passing unicode() object
+ to Repo.__getitem__.
+ (Jonas Haag)
- * Fix handling of `reset` command in dulwich.fastexport.
- (Jelmer Vernooij, #1249029)
+ * Fix handling of `reset` command in dulwich.fastexport.
+ (Jelmer Vernooij, #1249029)
- * In client, don't wait for server to close connection
- first. Fixes hang when used against GitHub
- server implementation. (Siddharth Agarwal)
+ * In client, don't wait for server to close connection
+ first. Fixes hang when used against GitHub
+ server implementation. (Siddharth Agarwal)
- * DeltaChainIterator: fix a corner case where an object is inflated as an
- object already in the repository.
- (Damien Tournoud, #135)
+ * DeltaChainIterator: fix a corner case where an object is inflated as an
+ object already in the repository.
+ (Damien Tournoud, #135)
- * Stop leaking file handles during pack reload. (Damien Tournoud)
+ * Stop leaking file handles during pack reload. (Damien Tournoud)
- * Avoid reopening packs during pack cache reload. (Jelmer Vernooij)
+ * Avoid reopening packs during pack cache reload. (Jelmer Vernooij)
API CHANGES
@@ -559,63 +612,63 @@ API CHANGES
IMPROVEMENTS
- * Add porcelain 'tag'. (Ryan Faulkner)
+ * Add porcelain 'tag'. (Ryan Faulkner)
- * New module `dulwich.objectspec` for parsing strings referencing
- objects and commit ranges. (Jelmer Vernooij)
+ * New module `dulwich.objectspec` for parsing strings referencing
+ objects and commit ranges. (Jelmer Vernooij)
- * Add shallow branch support. (milki)
+ * Add shallow branch support. (milki)
- * Allow passing urllib2 `opener` into HttpGitClient.
- (Dov Feldstern, #909037)
+ * Allow passing urllib2 `opener` into HttpGitClient.
+ (Dov Feldstern, #909037)
CHANGES
- * Drop support for Python 2.4 and 2.5. (Jelmer Vernooij)
+ * Drop support for Python 2.4 and 2.5. (Jelmer Vernooij)
API CHANGES
- * Remove long deprecated ``Repo.commit``, ``Repo.get_blob``,
- ``Repo.tree`` and ``Repo.tag``. (Jelmer Vernooij)
+ * Remove long deprecated ``Repo.commit``, ``Repo.get_blob``,
+ ``Repo.tree`` and ``Repo.tag``. (Jelmer Vernooij)
- * Remove long deprecated ``Repo.revision_history`` and ``Repo.ref``.
- (Jelmer Vernooij)
+ * Remove long deprecated ``Repo.revision_history`` and ``Repo.ref``.
+ (Jelmer Vernooij)
- * Remove long deprecated ``Tree.entries``. (Jelmer Vernooij)
+ * Remove long deprecated ``Tree.entries``. (Jelmer Vernooij)
BUG FIXES
- * Raise KeyError rather than TypeError when passing in
- unicode object of length 20 or 40 to Repo.__getitem__.
- (Jelmer Vernooij)
+ * Raise KeyError rather than TypeError when passing in
+ unicode object of length 20 or 40 to Repo.__getitem__.
+ (Jelmer Vernooij)
- * Use 'rm' rather than 'unlink' in tests, since the latter
- does not exist on OpenBSD and other platforms.
- (Dmitrij D. Czarkoff)
+ * Use 'rm' rather than 'unlink' in tests, since the latter
+ does not exist on OpenBSD and other platforms.
+ (Dmitrij D. Czarkoff)
0.9.4 2013-11-30
IMPROVEMENTS
- * Add ssh_kwargs attribute to ParamikoSSHVendor. (milki)
+ * Add ssh_kwargs attribute to ParamikoSSHVendor. (milki)
- * Add Repo.set_description(). (Víðir Valberg Guðmundsson)
+ * Add Repo.set_description(). (Víðir Valberg Guðmundsson)
- * Add a basic `dulwich.porcelain` module. (Jelmer Vernooij, Marcin Kuzminski)
+ * Add a basic `dulwich.porcelain` module. (Jelmer Vernooij, Marcin Kuzminski)
- * Various performance improvements for object access.
+ * Various performance improvements for object access.
(Jelmer Vernooij)
- * New function `get_transport_and_path_from_url`,
- similar to `get_transport_and_path` but only
- supports URLs.
- (Jelmer Vernooij)
+ * New function `get_transport_and_path_from_url`,
+ similar to `get_transport_and_path` but only
+ supports URLs.
+ (Jelmer Vernooij)
- * Add support for file:// URLs in `get_transport_and_path_from_url`.
- (Jelmer Vernooij)
+ * Add support for file:// URLs in `get_transport_and_path_from_url`.
+ (Jelmer Vernooij)
- * Add LocalGitClient implementation.
- (Jelmer Vernooij)
+ * Add LocalGitClient implementation.
+ (Jelmer Vernooij)
BUG FIXES
@@ -919,11 +972,11 @@ FEATURES
* Smart protocol clients can now change refs even if they are
not uploading new data. (Jelmer Vernooij, #855993)
- * Don't compile C extensions when running in pypy.
- (Ronny Pfannschmidt, #881546)
+ * Don't compile C extensions when running in pypy.
+ (Ronny Pfannschmidt, #881546)
- * Use different name for strnlen replacement function to avoid clashing
- with system strnlen. (Jelmer Vernooij, #880362)
+ * Use different name for strnlen replacement function to avoid clashing
+ with system strnlen. (Jelmer Vernooij, #880362)
API CHANGES
@@ -1521,4 +1574,4 @@ note: This list is most likely incomplete for 0.6.0.
0.1.0 2009-01-24
- * Initial release.
+ * Initial release.
diff --git a/PKG-INFO b/PKG-INFO
index e5831e1..db0c926 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,9 +1,9 @@
Metadata-Version: 1.1
Name: dulwich
-Version: 0.17.3
+Version: 0.18.0
Summary: Python Git Library
Home-page: https://www.dulwich.io/
-Author: Jelmer Vernooij
+Author: UNKNOWN
Author-email: jelmer at jelmer.uk
License: Apachev2 or later or GPLv2
Description:
@@ -13,8 +13,8 @@ Description:
All functionality is available in pure Python. Optional
C extensions can be built for improved performance.
- The project is named after the part of London that Mr. and Mrs. Git live in
- in the particular Monty Python sketch.
+ The project is named after the part of London that Mr. and Mrs. Git live
+ in in the particular Monty Python sketch.
Keywords: git
Platform: UNKNOWN
@@ -28,4 +28,5 @@ Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Operating System :: POSIX
+Classifier: Operating System :: Microsoft :: Windows
Classifier: Topic :: Software Development :: Version Control
diff --git a/README.md b/README.md
index 876eac0..389e194 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
[![Build Status](https://travis-ci.org/jelmer/dulwich.png?branch=master)](https://travis-ci.org/jelmer/dulwich)
+[![Windows Build status](https://ci.appveyor.com/api/projects/status/cnothr6pxprfx2lf/branch/master?svg=true)](https://ci.appveyor.com/project/jelmer/dulwich-njb6g/branch/master)
This is the Dulwich project.
@@ -27,6 +28,35 @@ or if you are installing from pip::
$ pip install dulwich --global-option="--pure"
+Getting started
+---------------
+
+Dulwich comes with both a lower-level API and higher-level plumbing ("porcelain").
+
+For example, to use the lower level API to access the commit message of the
+last commit:
+
+ >>> from dulwich.repo import Repo
+ >>> r = Repo('.')
+ >>> r.head()
+ '57fbe010446356833a6ad1600059d80b1e731e15'
+ >>> c = r[r.head()]
+ >>> c
+ <Commit 015fc1267258458901a94d228e39f0a378370466>
+ >>> c.message
+ 'Add note about encoding.\n'
+
+And to print it using porcelain:
+
+ >>> from dulwich import porcelain
+ >>> porcelain.log('.', max_entries=1)
+ --------------------------------------------------
+ commit: 57fbe010446356833a6ad1600059d80b1e731e15
+ Author: Jelmer Vernooij <jelmer at jelmer.uk>
+ Date: Sat Apr 29 2017 23:57:34 +0000
+
+ Add note about encoding.
+
Further documentation
---------------------
@@ -44,6 +74,14 @@ There is a *#dulwich* IRC channel on the [Freenode](https://www.freenode.net/),
and [dulwich-discuss](https://groups.google.com/forum/#!forum/dulwich-discuss)
mailing lists.
+Contributing
+------------
+
+For a full list of contributors, see the git logs or [AUTHORS](AUTHORS).
+
+If you'd like to contribute to Dulwich, see the [CONTRIBUTING](CONTRIBUTING.md)
+file and [list of open issues](https://github.com/jelmer/dulwich/issues).
+
Supported versions of Python
----------------------------
diff --git a/appveyor.yml b/appveyor.yml
index 9ee4162..c401fb8 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,35 +1,96 @@
environment:
+
matrix:
+
- PYTHON: "C:\\Python27"
- PYWIN32_URL: "https://downloads.sourceforge.net/project/pywin32/pywin32/Build%20220/pywin32-220.win32-py2.7.exe"
+ PYTHON_VERSION: "2.7.x"
+ PYTHON_ARCH: "32"
- - PYTHON: "C:\\Python34"
- PYWIN32_URL: "https://downloads.sourceforge.net/project/pywin32/pywin32/Build%20220/pywin32-220.win32-py3.4.exe"
+ - PYTHON: "C:\\Python27-x64"
+ PYTHON_VERSION: "2.7.x"
+ PYTHON_ARCH: "64"
- - PYTHON: "C:\\Python35"
- PYWIN32_URL: "https://downloads.sourceforge.net/project/pywin32/pywin32/Build%20220/pywin32-220.win32-py3.5.exe"
+ - PYTHON: "C:\\Python33"
+ PYTHON_VERSION: "3.3.x"
+ PYTHON_ARCH: "32"
- - PYTHON: "C:\\Python27-x64"
- PYWIN32_URL: "https://downloads.sourceforge.net/project/pywin32/pywin32/Build%20220/pywin32-220.win-amd64-py2.7.exe"
+ - PYTHON: "C:\\Python33-x64"
+ PYTHON_VERSION: "3.3.x"
+ PYTHON_ARCH: "64"
+ DISTUTILS_USE_SDK: "1"
+
+ - PYTHON: "C:\\Python34"
+ PYTHON_VERSION: "3.4.x"
+ PYTHON_ARCH: "32"
- PYTHON: "C:\\Python34-x64"
- PYWIN32_URL: "https://downloads.sourceforge.net/project/pywin32/pywin32/Build%20220/pywin32-220.win-amd64-py3.4.exe"
+ PYTHON_VERSION: "3.4.x"
+ PYTHON_ARCH: "64"
+ DISTUTILS_USE_SDK: "1"
+
+ - PYTHON: "C:\\Python35"
+ PYTHON_VERSION: "3.5.x"
+ PYTHON_ARCH: "32"
- PYTHON: "C:\\Python35-x64"
- PYWIN32_URL: "https://downloads.sourceforge.net/project/pywin32/pywin32/Build%20220/pywin32-220.win-amd64-py3.5.exe"
+ PYTHON_VERSION: "3.5.x"
+ PYTHON_ARCH: "64"
+
+ - PYTHON: "C:\\Python36"
+ PYTHON_VERSION: "3.6.x"
+ PYTHON_ARCH: "32"
+
+ - PYTHON: "C:\\Python36-x64"
+ PYTHON_VERSION: "3.6.x"
+ PYTHON_ARCH: "64"
install:
- - ps: (new-object net.webclient).DownloadFile($env:PYWIN32_URL, 'c:\\pywin32.exe')
- - "%PYTHON%/Scripts/easy_install.exe c:\\pywin32.exe"
- - "%PYTHON%/Scripts/easy_install.exe wheel"
+ # If there is a newer build queued for the same PR, cancel this one.
+ # The AppVeyor 'rollout builds' option is supposed to serve the same
+ # purpose but it is problematic because it tends to cancel builds pushed
+ # directly to master instead of just PR builds (or the converse).
+ # credits: JuliaLang developers.
+ - ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
+ https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
+ Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
+ throw "There are newer queued builds for this pull request, failing early." }
+ - ECHO "Filesystem root:"
+ - ps: "ls \"C:/\""
+
+ - ECHO "Installed SDKs:"
+ - ps: "ls \"C:/Program Files/Microsoft SDKs/Windows\""
+
+ # Install Python (from the official .msi of http://python.org) and pip when
+ # not already installed.
+ - ps: if (-not(Test-Path($env:PYTHON))) { & appveyor\install.ps1 }
+
+ # Prepend newly installed Python to the PATH of this build (this cannot be
+ # done from inside the powershell script as it would require to restart
+ # the parent CMD process).
+ - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
+
+ # Check that we have the expected version and architecture for Python
+ - "build.cmd %PYTHON%\\python.exe --version"
+ - "build.cmd %PYTHON%\\python.exe -c \"import struct; print(struct.calcsize('P') * 8)\""
+
+ # Install setuptools/wheel so that we can e.g. use bdist_wheel
+ - "pip install setuptools wheel"
+
+ - "build.cmd %PYTHON%\\python.exe setup.py develop"
-build: off
+build_script:
+ # Build the compiled extension
+ - "build.cmd %PYTHON%\\python.exe setup.py build"
test_script:
- - "%WITH_COMPILER% %PYTHON%/python setup.py test"
+ - "build.cmd %PYTHON%\\python.exe setup.py test"
after_test:
- - "%WITH_COMPILER% %PYTHON%/python setup.py bdist_wheel"
+ - "build.cmd %PYTHON%\\python.exe setup.py bdist_wheel"
+ # http://stackoverflow.com/questions/43255455/unicode-character-causing-error-with-bdist-wininst-on-python-3-but-not-python-2
+ # - "python setup.py bdist_wininst"
+ - "build.cmd %PYTHON%\\python.exe setup.py bdist_msi"
+ - ps: "ls dist"
artifacts:
- path: dist\*
diff --git a/bin/dulwich b/bin/dulwich
index b9a2465..cd1764f 100755
--- a/bin/dulwich
+++ b/bin/dulwich
@@ -507,6 +507,18 @@ class cmd_remote(Command):
return cmd_kls(args[1:])
+class cmd_check_ignore(Command):
+
+ def run(self, args):
+ parser = optparse.OptionParser()
+ options, args = parser.parse_args(args)
+ ret = 1
+ for path in porcelain.check_ignore('.', args):
+ print(path)
+ ret = 0
+ return ret
+
+
class cmd_help(Command):
def run(self, args):
@@ -532,6 +544,7 @@ For a list of supported commands, see 'dulwich help -a'.
commands = {
"add": cmd_add,
"archive": cmd_archive,
+ "check-ignore": cmd_check_ignore,
"clone": cmd_clone,
"commit": cmd_commit,
"commit-tree": cmd_commit_tree,
diff --git a/docs/conf.py b/docs/conf.py
index 872db62..9fef29e 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -3,7 +3,8 @@
# dulwich documentation build configuration file, created by
# sphinx-quickstart on Thu Feb 18 23:18:28 2010.
#
-# This file is execfile()d with the current directory set to its containing dir.
+# This file is execfile()d with the current directory set to its containing
+# dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
@@ -11,7 +12,8 @@
# All configuration values have a default; values that are commented out
# serve to show the default.
-import sys, os
+import os
+import sys
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
@@ -20,10 +22,10 @@ sys.path.insert(0, os.path.abspath('..'))
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__))))
dulwich = __import__('dulwich')
-# -- General configuration -----------------------------------------------------
+# -- 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.
+# 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']
try:
import rst2pdf
@@ -42,7 +44,7 @@ templates_path = ['templates']
source_suffix = '.txt'
# The encoding of source files.
-#source_encoding = 'utf-8'
+# source_encoding = 'utf-8'
# The master toctree document.
master_doc = 'index'
@@ -62,72 +64,73 @@ release = '.'.join(map(str, dulwich.__version__))
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
-#language = None
+# language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
-#today = ''
+# today = ''
# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
+# today_fmt = '%B %d, %Y'
# List of documents that shouldn't be included in the build.
-#unused_docs = []
+# 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
+# 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
+# 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
+# add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
-#show_authors = False
+# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
+# modindex_common_prefix = []
-# -- Options for HTML output ---------------------------------------------------
+# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. Major themes that come with
# Sphinx are currently 'default' and 'sphinxdoc'.
-#html_theme = 'default'
+# html_theme = 'default'
html_theme = 'nature'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
-#html_theme_options = {}
+# html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = ['theme']
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
-#html_title = None
+# html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
-#html_short_title = None
+# 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
+# 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
... 9912 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/dulwich.git
More information about the Python-modules-commits
mailing list