Categories
Uncategorized

Pygit2 0.25.0 released, upgrades to libgit2 0.25

This release requires the recently released libgit2 0.25.0; see the full list of changes.

Thanks to Carlos Martín Nieto, Szucs Krisztian and Guillermo Pérez.

Resources:

Enjoy!

Categories
Uncategorized

Pygit2 0.24.2 improves support for Windows

Now unit tests pass on Windows. Integration with AppVeyor. Wheels available on Pypi. See the full list of changes.

Thanks to Matthias Bartelmeß, Anatoly Techtonik, Robert Hölzl and Carlos Martín Nieto.

Resources:

Enjoy!

Categories
Uncategorized

Pygit2 0.22.0 released, updates to libgit2 0.22.0

This release requires the recently released libgit2 0.22.0; other changes include an improved support for remotes. See the full list of changes.

Thanks to Carlos Martín Nieto, Matthew Duggan, Greg Fitzgerald, Kevin Kin-Foo, Richard Möhn, Lukas Fleischer, Peter Dave Hello and Philippe Ombredanne.

Resources:

Enjoy!

Categories
Uncategorized

Pygit2 0.21.2 fixes regression, use it with libgit2 0.21.1

This release fixes a regression introduced in version 0.21.0, with the index and Python 2. See the full list of changes.

Thanks to Carlos Martín Nieto and Arno van Lumig.

Otherwise most important is the maintenance release of libgit2 v0.21.1, which among other corrections fixes a critical bug which may lead to data corruption. See the full list of libgit2 v021.1 changes.

So upgrading to libgit2 0.21.1 and pygit2 0.21.2 is highly recommended.

Resources:

Enjoy!

Categories
Uncategorized

Pygit2 0.21.1 and a new skin for the documentation

Changes:

  • Documentation: use the read-the-docs theme
  • New Repository.state_cleanup()
  • New Index.conflicts
  • New checkout option to define the target directory
  • And more…

Thanks to Carlos Martín Nieto, Vlad Temian and Jasper Lievisse Adriaanse.

Release partially sponsored by Bors LTD

Resources:

Enjoy!

 

Categories
Uncategorized

Pygit2 0.21.0 uses cffi

Changes:

  • Now using cffi
  • Upgraded to libgit2 latest and greatest v0.21.0
  • And much more…

Thanks to Carlos Martín Nieto, Michael Jones, Ian P. McCullough, Jack O’Connor, Thomas Kluyver, Daniel Bruce and Jun Omae.

Release partially sponsored by Bors LTD

Resources:

Enjoy!

Categories
Uncategorized

pygit2 0.19.1 released

New in this release is support for push. Detailed list of changes follows.

API changes:

  • Rename Commit._message to Commit.raw_message
  • Rename Signature._name to Signature.raw_name
  • Rename Signature._email to Signature.raw_email

New features:

  • Remote.push(refspec)
  • Tag.get_object()

And some bugs fixed.

Thanks to:

  • Brodie Rao
  • Fraser Tweedale
  • Andrew Chin
  • Carlos Martín Nieto

Resources:

Enjoy!

Categories
Uncategorized

Collectd Front-ends

Finally, I found a good enough Collectd front-end: the Collectd Graph Panel (CGP). But first lets look at those front-ends which did not pass the exam:

  • Collectd-web is the first I tried, maybe because it is the only one with a package in Gentoo (but it is poor package, so I ended up installing from source). My main complain is that some graphs, like the very useful context-switches, don’t work. It is also quite slow generating the graphs.
  • Collection4, developed by the lead developer of collectd, did not even build. I did not insist.

Many of the front-ends listed in the collectd wiki page were discarded either because they looked like dead (no new commit in the last few years) or because their deployment process was too cumbersome (need to setup database…). But I still tried a few more:

  • Sickmuse is sleek. However there are some details in the way to deployment, like there is no option to make server to listen only the local interface. Alright, it’s just Python, I can fix it… Problem is, the build process requires to install npm (the Node.js package manager), just to install another package manager named Bower, just to install the JS and CSS.
  • Jarmon is very simple to deploy but requires to define every plugin in the front-end, i.e. it is unable to discover the hosts and plugins just like every other front-end does. So it is a pain in the ass to maintain.
  • Visage just shows nothing. I tried to add a host and plugins through the web interface, but the interface is buggy.

Like when looking for the keys, the answer was in the last pocket. Well, the CGP web site is designed to discourage potential users. There is no documentation. I had to dig a little to find out how to get it working with Nginx for instance.

Just one note about CGP, it has two modes to generate the graphs: PNG (the default) and canvas, to generate the graphs in the browser. The canvas mode did not work for me: zooming with the mouse scroll is so sensible it is unusable; it is slow, the fan in my notebook started to run like crazy; my browser even gave me some error like “This scripts is stalled, kill it?”. But the PNG mode is fine.

Conclusion. The weakness of Collectd is the lack of a good and well established front-end. Instead there are more than a dozen front-ends of varying quality. This is my selection:

  1. CGP. Don’t look any further, unless you have some free time.
  2. Visage. This one is promising, maybe I will try again once they get 3.0 out.
  3. Sickmuse. If it only was less trendy and more practical… Three things to improve: the build process, deployment and usability.
Categories
Uncategorized

pygit2 0.19.0 released

Three months after the previous release I am happy to present a new major version of pygit2, the Python bindings for the libgit2 library. Follows a summary with the changes.

API changes:

  • New Oid type
  • Changed signature of Repository.create_reference
  • Reference.oid and Reference.hex removed, use Reference.target instead
  • Drop del Index[path] from the API, use Index.remove(path) instead
  • Drop TreeEntry.to_object
  • Changed signature of Repository.checkout
  • Repository.create_blob_from_file removed, use instead new methods
    Repository.create_blob_fromworkdir and
    Repository.create_blob_from_disk

New features:

  • Add len(TreeBuilder) and TreeBuilder.get
  • Add Repository.merge_base
  • Support changing the head with Repository.head = refname
  • Improved support for diff
  • Add support for clone
  • Python 2: Support hex oids as byte strings
  • Add Reference.get_object
  • Add Remote.save
  • Add support for branches, new type Branch

Other:

  • Upgraded to libgit2 0.19
  • Partial documentation review

Fourteen developers have contributed to this release, including myself, and:

  • Nico von Geyso
  • Daniel Rodríguez Troitiño
  • Bernardo Heynemann
  • Rémi Duraffort
  • Andrey Devyatkin
  • Hervé Cauwelier
  • Jiunn Haur Lim
  • Richo Healey
  • Carlos Martín Nieto
  • David Fischer
  • Fraser Tweedale
  • Jun Omae
  • Xu Tao

Resources:

Enjoy!

Categories
Uncategorized

pygit2 v0.17.3 released

This should be the last release in the v0.17 series. The master branch has already been moved to be based in the libgit2’s development branch.

New in v0.17.3:

  • New Blob.size getter
  • New Repository.create_blob_fromfile method
  • Signature, now the time and offset parameters are optional
  • Improved diff support
  • Add pygit2.__version__
  • Optimize usage of Travis
  • Various fixes for the unit tests
  • Various documentation improvements

Thanks to Alex Chamberlain, Carlos Martín Nieto, Eric Davis, Eric Schrijver, Petr Viktorin, Ridge Kennedy and W. Trevor King.