pivotal/LicenseFinder — pull request #97 by mainej (2014-04-19 11:36:00+00:00)
Title: Fix transaction handling

* Ensure an entire run of `license_finder` is saved or discarded en masse
* Wrapping a save of a single dependency in a transaction isn't as useful as wrapping all groups of saves and/or deletes.
* Otherwise, errors could leave the DB in an inconsistent state
* Backfill tests around whether dependencies are re-saved
* We try to prevent the HTML reports from being updated with a new timestamp every time you run license_finder. This is especially important for projects that commit their HTML reports and also run license_finder with every commit.
* The timestamp is based on when the DB was last changed (a questionable approach... see [bug 59043220](https://www.pivotaltracker.com/story/show/67787426)) so we try to avoid changing the DB unnecessarily. These tests assert that when a dependency's license isn't changing, the DB won't be updated.