Nicolas,
Over the long July 4th weekend, I realized that the package-cache
needs to be considered in the package naming scheme ...
As currently implemented, the GitFileTree scheme of sequentially
numbering version numbers based on the order of git commits is
problematic when the package-cache is considered, since switching
branches can lead to a package named XXX-dkh.12 being in the
package-cache and there is no way to know whether it is the "right
package" ...
The short sha scheme would guarantee that the package-cache would
not have improper collisions, so this is an argument in favor of
going that route ...
When reading a package from a metadataless repository using FileTree
as opposed to GitFileTree, the package-cache is even more
problematic since all packages are given the same author-version
number: cypress-1 and you are virtually guaranteed to have
package-cache problems
The scheme that I favor: eliminating both author and version number
from the name, suffers from the same package-cache problem ...
Now I believe that I should be able to "solve the package-cache
problem" in Metacello when using the Cypress extension, because
Metacello is already aware of the package-cache when doing a fetch
...
Unfortunately loads from the Monticello Browser and Gofer will still
be using the package-cache unless those tools are made aware of
metadataless repositories or the decisions about whether or not the
package-cache is used is delegated to the repository instance itself
--- probably the preferred solution --- and an approach that I also
consider as I work through the issues for Metacello ...
Anyway, the short-sha may actually be the best solution. I have
found the short sha very useful when displaying the loaded version
of a project in the project browser for tODE and echoing the short
sha (sans author) in the package names, would provide a useful
reminder of the version that was checked out when the package was
loaded ...
Dale
On 06/29/2016 01:24 AM, Nicolas
Passerini wrote: