gem-compare: A new tool for tracking upstream changes

Josef Stribny jstribny at redhat.com
Thu Jul 10 07:57:57 UTC 2014


Hi all,

I would like to announce the first release of the gem-compare[0] plugin,
a tool made to simplified the process of updating gems in Fedora.

Instead of manually fetching and unpacking new gem releases, comparing
their dependencies, and using grep and diff tools to check the differences
between the releases I decided to automate this process as much as I can.

The result was a script that I decided to turn into a RubyGems plugin for
clarity and ease of use. The main purpose of the tool is to report
the differences between:

* gemspec parameters such as license, authors, homepage, ...
* runtime and development dependencies
* Gemfile dependencies
* files including shebangs and permissions modifications

The usage is as follows:
$ gem compare rails 3.0.0 4.0.0 -k

I usually run it in the git directory of the associated Fedora package so
it downloads the missing new version, unpacks both, run the comparison and
print the results. I then can go straight to editing the .spec file and
update what is necessary.

However, you can use the tool in many other ways, e.g. running:
$ gem compare rails '>=3.0.0' --runtime

will reveal that activeresource dependency was dropped in 4.0.0 and
actionview dependency was added in 4.1.0.

Please see more examples at GitHub[0] and all valid options with:
$ gem compare --help

To install it, simply run:

$ gem install gem-compare

Once it's more tested and bugs[1] are resolved I will package it for Fedora.
I didn't package it yet because it needs one dependency that is not yet in
Fedora repositories.

I would like to kindly ask you to help me to test it and tell me what you
think.

Best Regards
Josef


[0] https://github.com/strzibny/gem-compare
[1] https://github.com/strzibny/gem-compare/issues


More information about the ruby-sig mailing list