gitless-vcs / gitless

A simple version control system built on top of Git
https://gitless.com
MIT License
1.93k stars 106 forks source link

Update libgit2 to 0.99 #230

Closed bayandin closed 4 years ago

bayandin commented 4 years ago

This PR updates required version of libgit2 to 0.99 and pygit to 1.1.1. I briefly had a look at breaking changes in pygit2 changelog, and it seems none of them affects the project.

These changes are required to get updated libgit2 on Homebrew: https://github.com/Homebrew/homebrew-core/pull/51095

xylix commented 4 years ago

I think this breaks some python 2 functionality. Trying to run tox I get some failures from failing to build pygit2 for python2.

  ----------------------------------------
  ERROR: Failed building wheel for pygit2
Successfully built gitless
Failed to build pygit2
ERROR: Could not build wheels for pygit2 which use PEP 517 and cannot be installed directly

https://github.com/libgit2/pygit2/blob/v1.1.1/CHANGELOG.rst#100-2019-12-06 Drop Python 2.7 and 3.4 support, six no longer required #941

They did drop python 2 and python 3.4 support. Should probably update the supported python versions for gitless to something more recent, perhaps python 3.7.

If we don't want to drop python2 support for gitless probably would need to lock an older version of libgit2.

spderosso commented 4 years ago

I think it's time to drop Python 2 support since the Python Software Foundation no longer maintains it. The only problem is that Gitless will stop working on Windows if we drop Python 2 support unless we find an alternative to sh/pbs (sh doesn't support Windows and pbs, which was our fallback library for Windows, doesn't support Python 3). I might have some time to work on Windows support next week.

spderosso commented 4 years ago

Done! I removed the sh/pbs dependency (b4755d742084ab553292a51a19f922665e645c5a) and we now support Python 3.7+ only (c211e240c3f2d789b08b7984336752180e045017, a877cd4665125f0cea8d33617fbf66adf83a16f2). Tests are green on Linux/Mac with Python 3.7 and 3.8 and green for Windows with Python 3.8. I'll look more into what's going on with Win+3.7 later.