Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libgit 0.28 compatible release #878

Closed
0-wiz-0 opened this issue Feb 24, 2019 · 16 comments
Closed

libgit 0.28 compatible release #878

0-wiz-0 opened this issue Feb 24, 2019 · 16 comments

Comments

@0-wiz-0
Copy link

0-wiz-0 commented Feb 24, 2019

Please release a version of pygit2 that's compatible with the current latest release of libgit, 0.28.1.
Thanks.

@mwilck
Copy link

mwilck commented Mar 7, 2019

I'm interested in this one too. The recent update of libgit2 on openSUSE Factory has broken pygit2. I'd appreciate some information when a 0.28.0-compatible release might be available, or what changes are anticipated to make pygit2 work with libgit2 0.28.0.

@jayvdb
Copy link

jayvdb commented Mar 7, 2019

The repo here is now using 0.28 since 8dabd78, however 11 tests are failing as seen at https://travis-ci.org/libgit2/pygit2/jobs/501118496

These failures correlate with breaking changes in the 0.28 relnotes at https://github.com/libgit2/libgit2/blob/master/docs/changelog.md

@jdavid
Copy link
Member

jdavid commented Mar 7, 2019

There's 1 failure left now:

E       GitError: failed to insert entry: invalid object specified - .gitignore

If someone wants to give it a try 😉

@webknjaz
Copy link
Contributor

webknjaz commented Mar 7, 2019

I don't have time to dig into this myself but just to confirm: are you going to create a release once the CI is green?

@jdavid
Copy link
Member

jdavid commented Mar 7, 2019

yes, there's nothing else blocking the release I think

@jdavid
Copy link
Member

jdavid commented Mar 9, 2019

This failure is actually a regression in libgit2, see libgit2/libgit2#5015

@webknjaz @imbuedhope The tests in AppVeyor are failing as well for a different reason, since PR #884 was merged, see https://ci.appveyor.com/project/jdavid/pygit2/branch/master/job/mwf4pj02fe0yubwk#L7514

test\utils.py:42: in <module>
    import pygit2
pygit2\__init__.py:269: in <module>
    settings = Settings()
pygit2\settings.py:65: in __init__
    self._default_tls_verify_paths.capath,
pygit2\settings.py:151: in set_ssl_cert_locations
    option(GIT_OPT_SET_SSL_CERT_LOCATIONS, ssl_cert_file, ssl_cert_dir)
E   GitError: TLS backend doesn't support certificate locations

@webknjaz
Copy link
Contributor

webknjaz commented Mar 9, 2019

@jdavid I think, this should probably be turned off under Windows. Another option would be building Windows wheels against OpenSSL.

@jdavid
Copy link
Member

jdavid commented Mar 9, 2019

@fourplusone

@webknjaz
Copy link
Contributor

webknjaz commented Mar 9, 2019

Another solution would be wrapping things with try/except and ignoring just this specific error.

@webknjaz
Copy link
Contributor

webknjaz commented Mar 9, 2019

I think, try/except in the initializer is all we need.

webknjaz added a commit to webknjaz/pygit2 that referenced this issue Mar 9, 2019
Ignore TLS certificate lookup file and dir locations initialization
failure when the TLS backend library doesn't support it.

Ref libgit2#878
@webknjaz
Copy link
Contributor

webknjaz commented Mar 9, 2019

PR incoming

@webknjaz
Copy link
Contributor

webknjaz commented Mar 9, 2019

@jdavid this should fix it in a generic OS-independent way: #886. I don't have a windows machine to test it, though. So we'll have to wait for what AppVeyor CI has to say...

webknjaz added a commit to webknjaz/pygit2 that referenced this issue Mar 9, 2019
Ignore TLS certificate lookup file and dir locations initialization
failure when the TLS backend library doesn't support it.

Ref libgit2#878
webknjaz added a commit to webknjaz/pygit2 that referenced this issue Mar 10, 2019
Ignore TLS certificate lookup file and dir locations initialization
failure when the TLS backend library doesn't support it.

Ref libgit2#878
@webknjaz
Copy link
Contributor

@jdavid I saw the discussion in the related issue. Does this mean that we'll have to wait until the next patch release of libgit2?

@jdavid
Copy link
Member

jdavid commented Mar 16, 2019

There's something to fix in libgit2, but we don't have to wait for the next release.

We have to expose GIT_OPT_ENABLE_STRICT_OBJECT_CREATION and use it in the test to make it green.

@webknjaz
Copy link
Contributor

Oh, cool!

@jdavid
Copy link
Member

jdavid commented Mar 19, 2019

Done

@jdavid jdavid closed this as completed Mar 19, 2019
netbsd-srcmastr referenced this issue in NetBSD/pkgsrc Mar 20, 2019
Add test target.

0.28.0 (2019-03-19)
-------------------------

- Upgrade to libgit2 0.28
  `#878 <https://github.com/libgit2/pygit2/issues/878>`_

- Add binary wheels for Linux
  `#793 <https://github.com/libgit2/pygit2/issues/793>`_
  `#869 <https://github.com/libgit2/pygit2/pull/869>`_
  `#874 <https://github.com/libgit2/pygit2/pull/874>`_
  `#875 <https://github.com/libgit2/pygit2/pull/875>`_
  `#883 <https://github.com/libgit2/pygit2/pull/883>`_

- New ``pygit2.Mailmap``, see documentation
  `#804 <https://github.com/libgit2/pygit2/pull/804>`_

- New ``Repository.apply(...)`` wraps ``git_apply(..)``
  `#841 <https://github.com/libgit2/pygit2/issues/841>`_
  `#843 <https://github.com/libgit2/pygit2/pull/843>`_

- Now ``Repository.merge_analysis(...)`` accepts an optional reference parameter
  `#888 <https://github.com/libgit2/pygit2/pull/888>`_
  `#891 <https://github.com/libgit2/pygit2/pull/891>`_

- Now ``Repository.add_worktree(...)`` accepts an optional reference parameter
  `#814 <https://github.com/libgit2/pygit2/issues/814>`_
  `#889 <https://github.com/libgit2/pygit2/pull/889>`_

- Now it's possible to set SSL certificate locations
  `#876 <https://github.com/libgit2/pygit2/issues/876>`_
  `#879 <https://github.com/libgit2/pygit2/pull/879>`_
  `#884 <https://github.com/libgit2/pygit2/pull/884>`_
  `#886 <https://github.com/libgit2/pygit2/pull/886>`_

- Test and documentation improvements
  `#873 <https://github.com/libgit2/pygit2/pull/873>`_
  `#887 <https://github.com/libgit2/pygit2/pull/887>`_

Breaking changes:

- Now ``worktree.path`` returns the path to the worktree directory, not to the
  `.git` file within
  `#803 <https://github.com/libgit2/pygit2/issues/803>`_

- Remove undocumented ``worktree.git_path``
  `#803 <https://github.com/libgit2/pygit2/issues/803>`_


0.27.4 (2019-01-19)
-------------------------

- New ``pygit2.LIBGIT2_VER`` tuple
  `#845 <https://github.com/libgit2/pygit2/issues/845>`_
  `#848 <https://github.com/libgit2/pygit2/pull/848>`_

- New objects now support (in)equality comparison and hash
  `#852 <https://github.com/libgit2/pygit2/issues/852>`_
  `#853 <https://github.com/libgit2/pygit2/pull/853>`_

- New references now support (in)equality comparison
  `#860 <https://github.com/libgit2/pygit2/issues/860>`_
  `#862 <https://github.com/libgit2/pygit2/pull/862>`_

- New ``paths`` optional argument in ``Repository.checkout()``
  `#858 <https://github.com/libgit2/pygit2/issues/858>`_
  `#859 <https://github.com/libgit2/pygit2/pull/859>`_

- Fix speed and windows package regression
  `#849 <https://github.com/libgit2/pygit2/issues/849>`_
  `#857 <https://github.com/libgit2/pygit2/issues/857>`_
  `#851 <https://github.com/libgit2/pygit2/pull/851>`_

- Fix deprecation warning
  `#850 <https://github.com/libgit2/pygit2/pull/850>`_

- Documentation fixes
  `#855 <https://github.com/libgit2/pygit2/pull/855>`_

- Add Python classifiers to setup.py
  `#861 <https://github.com/libgit2/pygit2/pull/861>`_

- Speeding up tests in Travis
  `#854 <https://github.com/libgit2/pygit2/pull/854>`_

Breaking changes:

- Remove deprecated `Reference.get_object()`, use `Reference.peel()` instead


0.27.3 (2018-12-15)
-------------------------

- Move to pytest, drop support for Python 3.3 and cffi 0.x
  `#824 <https://github.com/libgit2/pygit2/issues/824>`_
  `#826 <https://github.com/libgit2/pygit2/pull/826>`_
  `#833 <https://github.com/libgit2/pygit2/pull/833>`_
  `#834 <https://github.com/libgit2/pygit2/pull/834>`_

- New support comparing signatures for (in)equality

- New ``Submodule.head_id``
  `#817 <https://github.com/libgit2/pygit2/pull/817>`_

- New ``Remote.prune(...)``
  `#825 <https://github.com/libgit2/pygit2/pull/825>`_

- New ``pygit2.reference_is_valid_name(...)``
  `#827 <https://github.com/libgit2/pygit2/pull/827>`_

- New ``AlreadyExistsError`` and ``InvalidSpecError``
  `#828 <https://github.com/libgit2/pygit2/issues/828>`_
  `#829 <https://github.com/libgit2/pygit2/pull/829>`_

- New ``Reference.raw_name``, ``Reference.raw_shorthand``, ``Tag.raw_name``,
  ``Tag.raw_message`` and ``DiffFile.raw_path``
  `#840 <https://github.com/libgit2/pygit2/pull/840>`_

- Fix decode error in commit messages and signatures
  `#839 <https://github.com/libgit2/pygit2/issues/839>`_

- Fix, raise error in ``Repository.descendant_of(...)`` if commit doesn't exist
  `#822 <https://github.com/libgit2/pygit2/issues/822>`_
  `#842 <https://github.com/libgit2/pygit2/pull/842>`_

- Documentation fixes
  `#821 <https://github.com/libgit2/pygit2/pull/821>`_

Breaking changes:

- Remove undocumented ``Tag._message``, replaced by ``Tag.raw_message``
EnTeQuAk referenced this issue in mozilla/addons-server Mar 25, 2019
This PR updates [pygit2](https://pypi.org/project/pygit2) from **0.27.4** to **0.28.0**.



<details>
  <summary>Changelog</summary>
  
  
   ### 0.28.0
   ```
   -------------------------

- Upgrade to libgit2 0.28
  `878 &lt;https://github.com/libgit2/pygit2/issues/878&gt;`_

- Add binary wheels for Linux
  `793 &lt;https://github.com/libgit2/pygit2/issues/793&gt;`_
  `869 &lt;https://github.com/libgit2/pygit2/pull/869&gt;`_
  `874 &lt;https://github.com/libgit2/pygit2/pull/874&gt;`_
  `875 &lt;https://github.com/libgit2/pygit2/pull/875&gt;`_
  `883 &lt;https://github.com/libgit2/pygit2/pull/883&gt;`_

- New ``pygit2.Mailmap``, see documentation
  `804 &lt;https://github.com/libgit2/pygit2/pull/804&gt;`_

- New ``Repository.apply(...)`` wraps ``git_apply(..)``
  `841 &lt;https://github.com/libgit2/pygit2/issues/841&gt;`_
  `843 &lt;https://github.com/libgit2/pygit2/pull/843&gt;`_

- Now ``Repository.merge_analysis(...)`` accepts an optional reference parameter
  `888 &lt;https://github.com/libgit2/pygit2/pull/888&gt;`_
  `891 &lt;https://github.com/libgit2/pygit2/pull/891&gt;`_

- Now ``Repository.add_worktree(...)`` accepts an optional reference parameter
  `814 &lt;https://github.com/libgit2/pygit2/issues/814&gt;`_
  `889 &lt;https://github.com/libgit2/pygit2/pull/889&gt;`_

- Now it&#39;s possible to set SSL certificate locations
  `876 &lt;https://github.com/libgit2/pygit2/issues/876&gt;`_
  `879 &lt;https://github.com/libgit2/pygit2/pull/879&gt;`_
  `884 &lt;https://github.com/libgit2/pygit2/pull/884&gt;`_
  `886 &lt;https://github.com/libgit2/pygit2/pull/886&gt;`_

- Test and documentation improvements
  `873 &lt;https://github.com/libgit2/pygit2/pull/873&gt;`_
  `887 &lt;https://github.com/libgit2/pygit2/pull/887&gt;`_

Breaking changes:

- Now ``worktree.path`` returns the path to the worktree directory, not to the
  `.git` file within
  `803 &lt;https://github.com/libgit2/pygit2/issues/803&gt;`_

- Remove undocumented ``worktree.git_path``
  `803 &lt;https://github.com/libgit2/pygit2/issues/803&gt;`_
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pygit2
  - Changelog: https://pyup.io/changelogs/pygit2/
  - Repo: http://github.com/libgit2/pygit2
</details>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants