Hello community, here is the log from the commit of package python-pygit2 for openSUSE:Factory checked in at 2017-01-23 11:34:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pygit2 (Old) and /work/SRC/openSUSE:Factory/.python-pygit2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pygit2" Changes: -------- --- /work/SRC/openSUSE:Factory/python-pygit2/python-pygit2.changes 2016-11-05 21:25:48.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.python-pygit2.new/python-pygit2.changes 2017-01-23 11:34:54.367011791 +0100 @@ -1,0 +2,12 @@ +Wed Jan 11 21:49:47 UTC 2017 - astie...@suse.com + +- update to 0.24.2: + * Fix when libgit2 error messages have non-ascii chars + * Documentation improvements +- includes changes from 0.24.1 + * New Repository.listall_reference_objects() + * Fix ``Repository.write_archive(...)` + * Reproducible builds + * Documentation fixes + +------------------------------------------------------------------- Old: ---- pygit2-0.24.0.tar.gz New: ---- pygit2-0.24.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pygit2.spec ++++++ --- /var/tmp/diff_new_pack.C9M4Zy/_old 2017-01-23 11:34:54.770954509 +0100 +++ /var/tmp/diff_new_pack.C9M4Zy/_new 2017-01-23 11:34:54.770954509 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-pygit2 # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,28 +17,28 @@ Name: python-pygit2 -Version: 0.24.0 +Version: 0.24.2 Release: 0 -Url: https://github.com/libgit2/pygit2 Summary: Python bindings for libgit2 License: GPL-2.0 Group: Development/Languages/Python +Url: https://github.com/libgit2/pygit2 Source: https://pypi.io/packages/source/p/pygit2/pygit2-%{version}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: libgit2-devel >= 0.23 -BuildRequires: python-cffi -BuildRequires: python-devel -BuildRequires: python-six +BuildRequires: libgit2-devel >= 0.24 #BuildRequires: python-unittest2 BuildRequires: libopenssl-devel +BuildRequires: python-cffi +BuildRequires: python-devel BuildRequires: python-setuptools +BuildRequires: python-six %requires_eq python-cffi +BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Bindings for libgit2, a linkable C library for the Git version-control system. %prep -%setup -n pygit2-%{version} +%setup -q -n pygit2-%{version} # Adjust include/lib paths to local system #sed -i 's|/usr/local/include|%%{_includedir}|' setup.py #sed -i 's|/usr/local/lib|%%{_libdir}|' setup.py ++++++ pygit2-0.24.0.tar.gz -> pygit2-0.24.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/PKG-INFO new/pygit2-0.24.2/PKG-INFO --- old/pygit2-0.24.0/PKG-INFO 2016-03-05 23:23:44.000000000 +0100 +++ new/pygit2-0.24.2/PKG-INFO 2016-11-01 21:00:31.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: pygit2 -Version: 0.24.0 +Version: 0.24.2 Summary: Python bindings for libgit2. Home-page: http://github.com/libgit2/pygit2 Author: J. David Ibáñez @@ -13,6 +13,9 @@ .. image:: https://travis-ci.org/libgit2/pygit2.svg?branch=master :target: http://travis-ci.org/libgit2/pygit2 + .. image:: https://ci.appveyor.com/api/projects/status/edmwc0dctk5nacx0/branch/master?svg=true + :target: https://ci.appveyor.com/project/jdavid/pygit2/branch/master + Pygit2 is a set of Python bindings to the libgit2 shared library, libgit2 implements Git plumbing. Pygit2 works with Python 2.7, 3.2, 3.3, 3.4, 3.5 and PyPy 2.6 @@ -33,6 +36,50 @@ Changelog ============== + 0.24.2 (2016-11-01) + ------------------------- + + - Unit tests pass on Windows, integration with AppVeyor + `#641 <https://github.com/libgit2/pygit2/pull/641>`_ + `#655 <https://github.com/libgit2/pygit2/issues/655>`_ + `#657 <https://github.com/libgit2/pygit2/pull/657>`_ + `#659 <https://github.com/libgit2/pygit2/pull/659>`_ + `#660 <https://github.com/libgit2/pygit2/pull/660>`_ + `#661 <https://github.com/libgit2/pygit2/pull/661>`_ + `#667 <https://github.com/libgit2/pygit2/pull/667>`_ + + - Fix when libgit2 error messages have non-ascii chars + `#651 <https://github.com/libgit2/pygit2/pull/651>`_ + + - Documentation improvements + `#643 <https://github.com/libgit2/pygit2/pull/643>`_ + `#653 <https://github.com/libgit2/pygit2/pull/653>`_ + `#663 <https://github.com/libgit2/pygit2/pull/663>`_ + + + 0.24.1 (2016-06-21) + ------------------------- + + - New ``Repository.listall_reference_objects()`` + `#634 <https://github.com/libgit2/pygit2/pull/634>`_ + + - Fix ``Repository.write_archive(...)`` + `#619 <https://github.com/libgit2/pygit2/pull/619>`_ + `#621 <https://github.com/libgit2/pygit2/pull/621>`_ + + - Reproducible builds + `#636 <https://github.com/libgit2/pygit2/pull/636>`_ + + - Documentation fixes + `#606 <https://github.com/libgit2/pygit2/pull/606>`_ + `#607 <https://github.com/libgit2/pygit2/pull/607>`_ + `#609 <https://github.com/libgit2/pygit2/pull/609>`_ + `#623 <https://github.com/libgit2/pygit2/pull/623>`_ + + - Test updates + `#629 <https://github.com/libgit2/pygit2/pull/629>`_ + + 0.24.0 (2016-03-05) ------------------------- @@ -782,29 +829,31 @@ Authors ============== - 104 developers have contributed at least 1 commit to pygit2:: + 112 developers have contributed at least 1 commit to pygit2:: J. David Ibáñez Carlos Martín Nieto Nico von Geyso - W. Trevor King Dave Borowitz Daniel Rodríguez Troitiño - Richo Healey Christian Boos Julien Miotte - Richard Möhn Xu Tao Jose Plana - Matthew Duggan Matthew Gamble Martin Lenders - Petr Hosek Victor Garcia Xavier Delannoy - Yonggang Luo Patrick Steinhardt Valentin Haenel - Michael Jones Bernardo Heynemann John Szakmeister - Vlad Temian Brodie Rao Nicolas Dandrimont - David Versmisse Rémi Duraffort Santiago Perez De Rosso - Sebastian Thiel Thom Wiggers Alok Singhal - Fraser Tweedale Han-Wen Nienhuys Leonardo Rhodes - Petr Viktorin Ron Cohen Thomas Kluyver - Alex Chamberlain Alexander Bayandin Amit Bakshi - Andrey Devyatkin Arno van Lumig Ben Davis + W. Trevor King Dave Borowitz Matthias Bartelmeß + Daniel Rodríguez Troitiño Richo Healey Christian Boos + Julien Miotte Richard Möhn Xu Tao + Jose Plana Matthew Duggan Matthew Gamble + Martin Lenders Petr Hosek Victor Garcia + Xavier Delannoy Yonggang Luo Patrick Steinhardt + Valentin Haenel Michael Jones Bernardo Heynemann + Brodie Rao John Szakmeister Vlad Temian + Nicolas Dandrimont David Versmisse Rémi Duraffort + Santiago Perez De Rosso Sebastian Thiel Thom Wiggers + Alok Singhal Fraser Tweedale Han-Wen Nienhuys + Leonardo Rhodes Petr Viktorin Ron Cohen + Thomas Kluyver anatoly techtonik Alex Chamberlain + Alexander Bayandin Amit Bakshi Andrey Devyatkin + Arno van Lumig Ben Davis Dustin Raimondi Eric Schrijver Greg Fitzgerald Hervé Cauwelier - Huang Huang Ian P. McCullough Jack O'Connor - Jared Flatow Jiunn Haur Lim Jun Omae - Kaarel Kitsemets Kevin KIN-FOO Masud Rahman - Michael Sondergaard Sarath Lakshman Vicent Marti - Zoran Zaric Adam Spiers Andrew Chin + Huang Huang Ian P. McCullough Igor Gnatenko + Jack O'Connor Jared Flatow Jiunn Haur Lim + Jun Omae Kaarel Kitsemets Kevin KIN-FOO + Masud Rahman Michael Sondergaard Ondřej Nový + Sarath Lakshman Vicent Marti Zoran Zaric + mrh1997 Adam Spiers Andrew Chin András Veres-Szentkirályi Ash Berlin Benjamin Kircher Benjamin Pollack Bryan O'Sullivan Cam Cope Chason Chaffin Chris Rebert Colin Watson @@ -816,9 +865,10 @@ Justin Clift Kyriakos Oikonomakos Lukas Fleischer Mathieu Bridon Nicolás Sanguinetti Noah Fontes Óscar San José Peter Dave Hello Philippe Ombredanne - Ridge Kennedy Ross Nicoll Rui Abreu Ferreira - Sheeo Soasme Vladimir Rutsky - chengyuhang earl + Ridge Kennedy Robert Hölzl Ross Nicoll + Rui Abreu Ferreira Sheeo Soasme + Vladimir Rutsky Yu Jianjian chengyuhang + earl License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/README.rst new/pygit2-0.24.2/README.rst --- old/pygit2-0.24.0/README.rst 2016-03-05 23:20:12.000000000 +0100 +++ new/pygit2-0.24.2/README.rst 2016-11-01 20:26:59.000000000 +0100 @@ -5,6 +5,9 @@ .. image:: https://travis-ci.org/libgit2/pygit2.svg?branch=master :target: http://travis-ci.org/libgit2/pygit2 +.. image:: https://ci.appveyor.com/api/projects/status/edmwc0dctk5nacx0/branch/master?svg=true + :target: https://ci.appveyor.com/project/jdavid/pygit2/branch/master + Pygit2 is a set of Python bindings to the libgit2 shared library, libgit2 implements Git plumbing. Pygit2 works with Python 2.7, 3.2, 3.3, 3.4, 3.5 and PyPy 2.6 @@ -25,6 +28,50 @@ Changelog ============== +0.24.2 (2016-11-01) +------------------------- + +- Unit tests pass on Windows, integration with AppVeyor + `#641 <https://github.com/libgit2/pygit2/pull/641>`_ + `#655 <https://github.com/libgit2/pygit2/issues/655>`_ + `#657 <https://github.com/libgit2/pygit2/pull/657>`_ + `#659 <https://github.com/libgit2/pygit2/pull/659>`_ + `#660 <https://github.com/libgit2/pygit2/pull/660>`_ + `#661 <https://github.com/libgit2/pygit2/pull/661>`_ + `#667 <https://github.com/libgit2/pygit2/pull/667>`_ + +- Fix when libgit2 error messages have non-ascii chars + `#651 <https://github.com/libgit2/pygit2/pull/651>`_ + +- Documentation improvements + `#643 <https://github.com/libgit2/pygit2/pull/643>`_ + `#653 <https://github.com/libgit2/pygit2/pull/653>`_ + `#663 <https://github.com/libgit2/pygit2/pull/663>`_ + + +0.24.1 (2016-06-21) +------------------------- + +- New ``Repository.listall_reference_objects()`` + `#634 <https://github.com/libgit2/pygit2/pull/634>`_ + +- Fix ``Repository.write_archive(...)`` + `#619 <https://github.com/libgit2/pygit2/pull/619>`_ + `#621 <https://github.com/libgit2/pygit2/pull/621>`_ + +- Reproducible builds + `#636 <https://github.com/libgit2/pygit2/pull/636>`_ + +- Documentation fixes + `#606 <https://github.com/libgit2/pygit2/pull/606>`_ + `#607 <https://github.com/libgit2/pygit2/pull/607>`_ + `#609 <https://github.com/libgit2/pygit2/pull/609>`_ + `#623 <https://github.com/libgit2/pygit2/pull/623>`_ + +- Test updates + `#629 <https://github.com/libgit2/pygit2/pull/629>`_ + + 0.24.0 (2016-03-05) ------------------------- @@ -774,29 +821,31 @@ Authors ============== -104 developers have contributed at least 1 commit to pygit2:: +112 developers have contributed at least 1 commit to pygit2:: J. David Ibáñez Carlos Martín Nieto Nico von Geyso - W. Trevor King Dave Borowitz Daniel Rodríguez Troitiño - Richo Healey Christian Boos Julien Miotte - Richard Möhn Xu Tao Jose Plana - Matthew Duggan Matthew Gamble Martin Lenders - Petr Hosek Victor Garcia Xavier Delannoy - Yonggang Luo Patrick Steinhardt Valentin Haenel - Michael Jones Bernardo Heynemann John Szakmeister - Vlad Temian Brodie Rao Nicolas Dandrimont - David Versmisse Rémi Duraffort Santiago Perez De Rosso - Sebastian Thiel Thom Wiggers Alok Singhal - Fraser Tweedale Han-Wen Nienhuys Leonardo Rhodes - Petr Viktorin Ron Cohen Thomas Kluyver - Alex Chamberlain Alexander Bayandin Amit Bakshi - Andrey Devyatkin Arno van Lumig Ben Davis + W. Trevor King Dave Borowitz Matthias Bartelmeß + Daniel Rodríguez Troitiño Richo Healey Christian Boos + Julien Miotte Richard Möhn Xu Tao + Jose Plana Matthew Duggan Matthew Gamble + Martin Lenders Petr Hosek Victor Garcia + Xavier Delannoy Yonggang Luo Patrick Steinhardt + Valentin Haenel Michael Jones Bernardo Heynemann + Brodie Rao John Szakmeister Vlad Temian + Nicolas Dandrimont David Versmisse Rémi Duraffort + Santiago Perez De Rosso Sebastian Thiel Thom Wiggers + Alok Singhal Fraser Tweedale Han-Wen Nienhuys + Leonardo Rhodes Petr Viktorin Ron Cohen + Thomas Kluyver anatoly techtonik Alex Chamberlain + Alexander Bayandin Amit Bakshi Andrey Devyatkin + Arno van Lumig Ben Davis Dustin Raimondi Eric Schrijver Greg Fitzgerald Hervé Cauwelier - Huang Huang Ian P. McCullough Jack O'Connor - Jared Flatow Jiunn Haur Lim Jun Omae - Kaarel Kitsemets Kevin KIN-FOO Masud Rahman - Michael Sondergaard Sarath Lakshman Vicent Marti - Zoran Zaric Adam Spiers Andrew Chin + Huang Huang Ian P. McCullough Igor Gnatenko + Jack O'Connor Jared Flatow Jiunn Haur Lim + Jun Omae Kaarel Kitsemets Kevin KIN-FOO + Masud Rahman Michael Sondergaard Ondřej Nový + Sarath Lakshman Vicent Marti Zoran Zaric + mrh1997 Adam Spiers Andrew Chin András Veres-Szentkirályi Ash Berlin Benjamin Kircher Benjamin Pollack Bryan O'Sullivan Cam Cope Chason Chaffin Chris Rebert Colin Watson @@ -808,9 +857,10 @@ Justin Clift Kyriakos Oikonomakos Lukas Fleischer Mathieu Bridon Nicolás Sanguinetti Noah Fontes Óscar San José Peter Dave Hello Philippe Ombredanne - Ridge Kennedy Ross Nicoll Rui Abreu Ferreira - Sheeo Soasme Vladimir Rutsky - chengyuhang earl + Ridge Kennedy Robert Hölzl Ross Nicoll + Rui Abreu Ferreira Sheeo Soasme + Vladimir Rutsky Yu Jianjian chengyuhang + earl License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/appveyor.yml new/pygit2-0.24.2/appveyor.yml --- old/pygit2-0.24.0/appveyor.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/pygit2-0.24.2/appveyor.yml 2016-11-01 13:41:23.000000000 +0100 @@ -0,0 +1,49 @@ +version: 1.0.{build} +image: Visual Studio 2015 +configuration: Release +environment: + matrix: + - GENERATOR: 'Visual Studio 10' + PYTHON: 'C:\Python27\python.exe' + - GENERATOR: 'Visual Studio 10 Win64' + PYTHON: 'C:\Python27-x64\python.exe' + - GENERATOR: 'Visual Studio 10' + PYTHON: 'C:\Python33\python.exe' + - GENERATOR: 'Visual Studio 10 Win64' + PYTHON: 'C:\Python33-x64\python.exe' + - GENERATOR: 'Visual Studio 10' + PYTHON: 'C:\Python34\python.exe' + - GENERATOR: 'Visual Studio 10 Win64' + PYTHON: 'C:\Python34-x64\python.exe' + - GENERATOR: 'Visual Studio 14' + PYTHON: 'C:\Python35\python.exe' + - GENERATOR: 'Visual Studio 14 Win64' + PYTHON: 'C:\Python35-x64\python.exe' + +init: +- cmd: '%PYTHON% -m pip install -U nose wheel' +build_script: +- cmd: | + set LIBGIT2=%APPVEYOR_BUILD_FOLDER%\build\libgit2 + git clone --depth=1 -b maint/v0.24 https://github.com/libgit2/libgit2.git libgit2 + mkdir build + + cd build + cmake -DSTDCALL=OFF -DBUILD_CLAR=OFF -DCMAKE_INSTALL_PREFIX="%LIBGIT2%" ../libgit2 -G "%GENERATOR%" + cmake --build . --config Release --target install + cd .. + + IF "%GENERATOR%"=="Visual Studio 10 Win64" ( call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" ) + + "%PYTHON%" setup.py bdist_wheel +test_script: +- ps: | + cp build\Release\git2.dll . + &$env:PYTHON setup.py nosetests --with-xunit + if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) } + # upload results to AppVeyor + $wc = New-Object 'System.Net.WebClient' + $wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\nosetests.xml)) + +artifacts: +- path: dist\*.whl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/docs/conf.py new/pygit2-0.24.2/docs/conf.py --- old/pygit2-0.24.0/docs/conf.py 2016-03-05 22:44:01.000000000 +0100 +++ new/pygit2-0.24.2/docs/conf.py 2016-11-01 20:28:45.000000000 +0100 @@ -52,7 +52,7 @@ # The short X.Y version. version = '0.24' # The full version, including alpha/beta/rc tags. -release = '0.24.0' +release = '0.24.2' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/docs/development.rst new/pygit2-0.24.2/docs/development.rst --- old/pygit2-0.24.0/docs/development.rst 2015-10-25 13:02:52.000000000 +0100 +++ new/pygit2-0.24.2/docs/development.rst 2016-11-01 20:33:25.000000000 +0100 @@ -5,6 +5,9 @@ .. image:: https://travis-ci.org/libgit2/pygit2.svg?branch=master :target: http://travis-ci.org/libgit2/pygit2 +.. image:: https://ci.appveyor.com/api/projects/status/edmwc0dctk5nacx0/branch/master?svg=true + :target: https://ci.appveyor.com/project/jdavid/pygit2/branch/master + .. code-block:: sh $ git clone git://github.com/libgit2/pygit2.git diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/docs/general.rst new/pygit2-0.24.2/docs/general.rst --- old/pygit2-0.24.0/docs/general.rst 2016-03-05 22:45:07.000000000 +0100 +++ new/pygit2-0.24.2/docs/general.rst 2016-11-01 20:29:47.000000000 +0100 @@ -18,7 +18,7 @@ .. py:data:: LIBGIT2_VER_MAJOR Integer value of the major version number. For example, for the version - ``0.24.0``:: + ``0.24.2``:: >>> print LIBGIT2_VER_MAJOR 0 @@ -26,7 +26,7 @@ .. py:data:: LIBGIT2_VER_MINOR Integer value of the minor version number. For example, for the version - ``0.24.0``:: + ``0.24.2``:: >>> print LIBGIT2_VER_MINOR 24 @@ -34,17 +34,17 @@ .. py:data:: LIBGIT2_VER_REVISION Integer value of the revision version number. For example, for the version - ``0.24.0``:: + ``0.24.2``:: >>> print LIBGIT2_VER_REVISION - 0 + 2 .. py:data:: LIBGIT2_VERSION The libgit2 version number as a string:: >>> print LIBGIT2_VERSION - '0.24.0' + '0.24.2' Errors ====== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/docs/install.rst new/pygit2-0.24.2/docs/install.rst --- old/pygit2-0.24.0/docs/install.rst 2016-03-05 22:46:44.000000000 +0100 +++ new/pygit2-0.24.2/docs/install.rst 2016-11-01 20:30:42.000000000 +0100 @@ -43,11 +43,11 @@ As illustration see this table of compatible releases: -+-----------+--------+----------------------------------------+ -|**libgit2**| 0.24.0 | 0.23.0, 0.23.1, 0.23.2, 0.23.3, 0.23.4 | -+-----------+--------+----------------------------------------+ -|**pygit2** | 0.24.0 | 0.23.0, 0.23.1, 0.23.2, 0.23.3 | -+-----------+--------+----------------------------------------+ ++-----------+-----------------------+----------------------------------------+ +|**libgit2**| 0.24.0, 0.24.1 0.24.2 | 0.23.0, 0.23.1, 0.23.2, 0.23.3, 0.23.4 | ++-----------+-----------------------+----------------------------------------+ +|**pygit2** | 0.24.0, 0.24.1 0.24.2 | 0.23.0, 0.23.1, 0.23.2, 0.23.3 | ++-----------+-----------------------+----------------------------------------+ .. warning:: @@ -64,9 +64,9 @@ .. code-block:: sh - $ wget https://github.com/libgit2/libgit2/archive/v0.23.4.tar.gz - $ tar xzf v0.23.4.tar.gz - $ cd libgit2-0.23.4/ + $ wget https://github.com/libgit2/libgit2/archive/v0.24.2.tar.gz + $ tar xzf v0.24.2.tar.gz + $ cd libgit2-0.24.2/ $ cmake . $ make $ sudo make install diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/docs/references.rst new/pygit2-0.24.2/docs/references.rst --- old/pygit2-0.24.0/docs/references.rst 2015-01-26 18:11:50.000000000 +0100 +++ new/pygit2-0.24.2/docs/references.rst 2016-06-02 16:18:07.000000000 +0200 @@ -4,6 +4,7 @@ .. contents:: +.. automethod:: pygit2.Repository.listall_reference_objects .. automethod:: pygit2.Repository.listall_references .. automethod:: pygit2.Repository.lookup_reference diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/docs/repository.rst new/pygit2-0.24.2/docs/repository.rst --- old/pygit2-0.24.0/docs/repository.rst 2016-02-28 14:22:47.000000000 +0100 +++ new/pygit2-0.24.2/docs/repository.rst 2016-10-04 09:11:49.000000000 +0200 @@ -73,3 +73,4 @@ .. automethod:: pygit2.Repository.ahead_behind .. automethod:: pygit2.Repository.describe .. automethod:: pygit2.Repository.path_is_ignored +.. automethod:: pygit2.Repository.create_reference diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/pygit2/_build.py new/pygit2-0.24.2/pygit2/_build.py --- old/pygit2-0.24.0/pygit2/_build.py 2016-03-05 22:43:37.000000000 +0100 +++ new/pygit2-0.24.2/pygit2/_build.py 2016-11-01 20:28:59.000000000 +0100 @@ -37,7 +37,7 @@ # # The version number of pygit2 # -__version__ = '0.24.0' +__version__ = '0.24.2' # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/pygit2/errors.py new/pygit2-0.24.2/pygit2/errors.py --- old/pygit2-0.24.0/pygit2/errors.py 2015-10-25 13:02:52.000000000 +0100 +++ new/pygit2-0.24.2/pygit2/errors.py 2016-10-21 09:18:42.000000000 +0200 @@ -40,7 +40,7 @@ # Error message giterr = C.giterr_last() if giterr != ffi.NULL: - message = ffi.string(giterr.message).decode() + message = ffi.string(giterr.message).decode('utf8') else: message = "err %d (no message provided)" % err @@ -64,4 +64,6 @@ raise GitError(message) # Indicate that we want libgit2 to pretend a function was not set -Passthrough = Exception("The function asked for pass-through") +class Passthrough(Exception): + def __init__(self): + super(Passthrough, self).__init__( "The function asked for pass-through") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/pygit2/index.py new/pygit2-0.24.2/pygit2/index.py --- old/pygit2-0.24.0/pygit2/index.py 2015-10-25 13:02:52.000000000 +0100 +++ new/pygit2-0.24.2/pygit2/index.py 2016-11-01 13:41:23.000000000 +0100 @@ -28,6 +28,8 @@ # Import from the future from __future__ import absolute_import, unicode_literals +import weakref + # Import from pygit2 from _pygit2 import Oid, Tree, Diff from .errors import check_error @@ -305,10 +307,12 @@ self._conflicts = None return None - if self._conflicts is None: - self._conflicts = ConflictCollection(self) + if self._conflicts is None or self._conflicts() is None: + conflicts = ConflictCollection(self) + self._conflicts = weakref.ref(conflicts) + return conflicts - return self._conflicts + return self._conflicts() class IndexEntry(object): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/pygit2/remote.py new/pygit2-0.24.2/pygit2/remote.py --- old/pygit2-0.24.0/pygit2/remote.py 2015-10-25 13:02:52.000000000 +0100 +++ new/pygit2-0.24.2/pygit2/remote.py 2016-10-24 09:22:35.000000000 +0200 @@ -278,11 +278,9 @@ try: ccred = get_credentials(credentials, url, username, allowed) cred_out[0] = ccred[0] - + except Passthrough as e: + return C.GIT_PASSTHROUGH except Exception as e: - if e is Passthrough: - return C.GIT_PASSTHROUGH - self._stored_exception = e return C.GIT_EUSER @@ -308,15 +306,14 @@ val = certificate_check(None, bool(valid), ffi.string(host)) if not val: return C.GIT_ECERTIFICATE + except Passthrough as e: + if is_ssh: + return 0 + elif valid: + return 0 + else: + return C.GIT_ECERTIFICATE except Exception as e: - if e is Passthrough: - if is_ssh: - return 0 - elif valid: - return 0 - else: - return C.GIT_ECERTIFICATE - self._stored_exception = e return C.GIT_EUSER @@ -416,6 +413,12 @@ """Push the given refspec to the remote. Raises ``GitError`` on protocol error or unpack failure. + When the remote has a githook installed, that denies the reference + this function will return successfully. Thus it is stronly recommended + to install a callback, that implements + :py:meth:`RemoteCallbacks.push_update_reference` and check the passed + parameters for successfull operations. + :param [str] specs: push refspecs to use """ push_opts = ffi.new('git_push_options *') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/pygit2/repository.py new/pygit2-0.24.2/pygit2/repository.py --- old/pygit2-0.24.0/pygit2/repository.py 2016-02-28 14:09:29.000000000 +0100 +++ new/pygit2-0.24.2/pygit2/repository.py 2016-07-11 15:07:00.000000000 +0200 @@ -322,8 +322,23 @@ Keyword arguments: + a + None, a str (that refers to an Object, see revparse_single()) or a + Reference object. + If None, b must be None, too. In this case the working directory is + compared with the index. Otherwise the referred object is compared to + 'b'. + + b + None, a str (that refers to an Object, see revparse_single()) or a + Reference object. + If None, the working directory is compared to 'a'. (except + 'cached' is True, in which case the index is compared to 'a'). + Otherwise the referred object is compared to 'a' + cached - use staged changes instead of workdir + if 'b' is None, by default the working directory is compared to 'a'. + If 'cached' is set to True, the index/staging area is used for comparing. flag a GIT_DIFF_* constant @@ -765,7 +780,7 @@ >>> import tarfile, pygit2 >>>> with tarfile.open('foo.tar', 'w') as archive: >>>> repo = pygit2.Repsitory('.') - >>>> repo.write_archive(archive, repo.head.target) + >>>> repo.write_archive(repo.head.target, archive) """ # Try to get a tree form whatever we got @@ -799,8 +814,8 @@ info.mtime = timestamp info.uname = info.gname = 'root' # just because git does this if entry.mode == GIT_FILEMODE_LINK: - info.type = archive.SYMTYPE - info.linkname = content + info.type = tarfile.SYMTYPE + info.linkname = content.decode("utf-8") info.mode = 0o777 # symlinks get placeholder info.size = 0 archive.addfile(info) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/setup.py new/pygit2-0.24.2/setup.py --- old/pygit2-0.24.0/setup.py 2016-02-28 17:22:58.000000000 +0100 +++ new/pygit2-0.24.2/setup.py 2016-06-08 09:11:52.000000000 +0200 @@ -72,7 +72,7 @@ libgit2_bin, libgit2_include, libgit2_lib = get_libgit2_paths() -pygit2_exts = [os.path.join('src', name) for name in listdir('src') +pygit2_exts = [os.path.join('src', name) for name in sorted(listdir('src')) if name.endswith('.c')] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/src/repository.c new/pygit2-0.24.2/src/repository.c --- old/pygit2-0.24.0/src/repository.c 2016-03-05 23:21:33.000000000 +0100 +++ new/pygit2-0.24.2/src/repository.c 2016-06-02 16:18:07.000000000 +0200 @@ -1123,6 +1123,56 @@ } +PyDoc_STRVAR(Repository_listall_reference_objects__doc__, + "listall_reference_objects() -> [Reference, ...]\n" + "\n" + "Return a list with all the reference objects in the repository."); + +PyObject * +Repository_listall_reference_objects(Repository *self, PyObject *args) +{ + git_reference_iterator *iter; + git_reference *ref = NULL; + int err; + PyObject *list; + + list = PyList_New(0); + if (list == NULL) + return NULL; + + if ((err = git_reference_iterator_new(&iter, self->repo)) < 0) + return Error_set(err); + + while ((err = git_reference_next(&ref, iter)) == 0) { + PyObject *py_ref = wrap_reference(ref, self); + if (py_ref == NULL) + goto error; + + err = PyList_Append(list, py_ref); + Py_DECREF(py_ref); + + if (err < 0) + goto error; + } + + git_reference_iterator_free(iter); + if (err == GIT_ITEROVER) + err = 0; + + if (err < 0) { + Py_CLEAR(list); + return Error_set(err); + } + + return list; + +error: + git_reference_iterator_free(iter); + Py_CLEAR(list); + return NULL; +} + + PyDoc_STRVAR(Repository_listall_branches__doc__, "listall_branches([flag]) -> [str, ...]\n" "\n" @@ -1575,8 +1625,8 @@ "\n" "Resets current head to the provided oid.\n" "reset_type:\n" - "GIT_RESET_SOFT: resets head to point to oid, but does not modfy working copy, and leaves the changes in the index.\n" - "GIT_RESET_MIXED: resets head to point to oid, but does not modfy working copy. It empties the index too.\n" + "GIT_RESET_SOFT: resets head to point to oid, but does not modify working copy, and leaves the changes in the index.\n" + "GIT_RESET_MIXED: resets head to point to oid, but does not modify working copy. It empties the index too.\n" "GIT_RESET_HARD: resets head to point to oid, and resets too the working copy and the content of the index.\n"); PyObject * @@ -1643,6 +1693,7 @@ METHOD(Repository, create_reference_direct, METH_VARARGS), METHOD(Repository, create_reference_symbolic, METH_VARARGS), METHOD(Repository, listall_references, METH_NOARGS), + METHOD(Repository, listall_reference_objects, METH_NOARGS), METHOD(Repository, listall_submodules, METH_NOARGS), METHOD(Repository, lookup_reference, METH_O), METHOD(Repository, revparse_single, METH_O), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/src/repository.h new/pygit2-0.24.2/src/repository.h --- old/pygit2-0.24.0/src/repository.h 2015-10-25 13:02:52.000000000 +0100 +++ new/pygit2-0.24.2/src/repository.h 2016-06-02 16:18:07.000000000 +0200 @@ -58,6 +58,8 @@ PyObject* Repository_create_tag(Repository *self, PyObject *args); PyObject* Repository_create_branch(Repository *self, PyObject *args); PyObject* Repository_listall_references(Repository *self, PyObject *args); +PyObject* Repository_listall_reference_objects(Repository *self, + PyObject *args); PyObject* Repository_listall_branches(Repository *self, PyObject *args); PyObject* Repository_lookup_reference(Repository *self, PyObject *py_name); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/test/test_refs.py new/pygit2-0.24.2/test/test_refs.py --- old/pygit2-0.24.0/test/test_refs.py 2015-10-25 13:02:52.000000000 +0100 +++ new/pygit2-0.24.2/test/test_refs.py 2016-06-02 16:18:07.000000000 +0200 @@ -42,6 +42,17 @@ class ReferencesTest(utils.RepoTestCase): + def test_list_all_reference_objects(self): + repo = self.repo + + refs = [(ref.name, ref.target.hex) + for ref in repo.listall_reference_objects()] + self.assertEqual(sorted(refs), + [('refs/heads/i18n', + '5470a671a80ac3789f1a6a8cefbcf43ce7af0563'), + ('refs/heads/master', + '2be5719152d4f82c7302b1c0932d8e5f0a4a0e98')]) + def test_list_all_references(self): repo = self.repo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/test/test_remote.py new/pygit2-0.24.2/test/test_remote.py --- old/pygit2-0.24.0/test/test_remote.py 2015-10-25 13:02:52.000000000 +0100 +++ new/pygit2-0.24.2/test/test_remote.py 2016-10-21 09:18:42.000000000 +0200 @@ -33,6 +33,7 @@ import sys from pygit2 import Oid from . import utils +import gc try: import __pypy__ @@ -188,21 +189,6 @@ end = sys.getrefcount(self.repo) self.assertEqual(start, end) - def test_remote_callback_typecheck(self): - remote = self.repo.remotes[0] - remote.progress = 5 - self.assertRaises(TypeError, remote, 'fetch') - - remote = self.repo.remotes[0] - remote.transfer_progress = 5 - self.assertRaises(TypeError, remote, 'fetch') - - remote = self.repo.remotes[0] - remote.update_tips = 5 - self.assertRaises(TypeError, remote, 'fetch') - - - class EmptyRepositoryTest(utils.EmptyRepoTestCase): def test_fetch(self): remote = self.repo.remotes[0] @@ -253,6 +239,11 @@ self.remote = self.clone.create_remote('origin', self.origin.path) def tearDown(self): + self.origin = None + self.clone = None + self.remote = None + gc.collect() + self.origin_ctxtmgr.__exit__(None, None, None) self.clone_ctxtmgr.__exit__(None, None, None) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/test/test_repository.py new/pygit2-0.24.2/test/test_repository.py --- old/pygit2-0.24.0/test/test_repository.py 2016-02-28 14:09:29.000000000 +0100 +++ new/pygit2-0.24.2/test/test_repository.py 2016-10-21 09:18:42.000000000 +0200 @@ -41,6 +41,12 @@ import six +if six.PY2: + from urllib import pathname2url + +if six.PY3: + from urllib.request import pathname2url + # Import from pygit2 from pygit2 import GIT_OBJ_ANY, GIT_OBJ_BLOB, GIT_OBJ_COMMIT from pygit2 import init_repository, clone_repository, discover_repository @@ -192,8 +198,8 @@ def test_hashfile(self): data = "bazbarfoo" - tempfile_path = tempfile.mkstemp()[1] - with open(tempfile_path, 'w') as fh: + handle, tempfile_path = tempfile.mkstemp() + with os.fdopen(handle, 'w') as fh: fh.write(data) hashed_sha1 = hashfile(tempfile_path) os.unlink(tempfile_path) @@ -513,7 +519,12 @@ def test_clone_repository_and_remote_callbacks(self): src_repo_relpath = "./test/data/testrepo.git/" repo_path = os.path.join(self._temp_dir, "clone-into") - url = 'file://' + os.path.realpath(src_repo_relpath) + url = pathname2url(os.path.realpath(src_repo_relpath)) + + if url.startswith('///'): + url = 'file:' + url + else: + url = 'file://' + url def create_repository(path, bare): return init_repository(path, bare) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygit2-0.24.0/test/utils.py new/pygit2-0.24.2/test/utils.py --- old/pygit2-0.24.0/test/utils.py 2015-10-25 13:02:52.000000000 +0100 +++ new/pygit2-0.24.2/test/utils.py 2016-10-13 12:26:19.000000000 +0200 @@ -35,6 +35,7 @@ import tempfile import unittest import hashlib +import gc import pygit2 @@ -94,6 +95,7 @@ def tearDown(self): del self.repo + gc.collect() rmtree(self._temp_dir) def assertRaisesAssign(self, exc_class, instance, name, value): @@ -132,8 +134,8 @@ self.repo = pygit2.Repository(self.repo_path) def tearDown(self): - self.repo_ctxtmgr.__exit__(None, None, None) super(AutoRepoTestCase, self).tearDown() + self.repo_ctxtmgr.__exit__(None, None, None) class BareRepoTestCase(AutoRepoTestCase):