Skip to content

Instantly share code, notes, and snippets.

@ugexe
Created July 15, 2016 14:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ugexe/5de557c2305831cefbdc553af52a1609 to your computer and use it in GitHub Desktop.
Save ugexe/5de557c2305831cefbdc553af52a1609 to your computer and use it in GitHub Desktop.
Distribution is now a role interface that enables encapsulating IO used for distribution installation. This allows features such as on-the-fly retrival of remote data during installs using sockets, as well as a way to access distribution files using their original relative path names after path mangling to a sha 1 id.
CompUnit::Repository::Installation uses the new Distribution interface, and thus no longer stringifies/concats path names as it did previously, allowing better handling of relative paths when the cwd changes.
dependency version 2 fixes a bug in CompUnit::Repository::Installation where `bin/xxx` and `resources/bin/xxx` were considered the same content address (sha1 id).
dependency version 2 also preserves the original meta `provides` data by turning the <provides>.values into Pairs where the key retains the original value and the value can contain non-standard meta data. Previously the original value was overwritten in such a way that the original meta data could not be recovered.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment