On 6/29/16 1:44 AM, Thierry Goubier wrote:
Hi Nicolas,

Le 29/06/2016 10:24, Nicolas Passerini a écrit :
Hi Dale, Therry, I am working on a libgit-based git integration for
Pharo and I am facing the same problem about version numbers. So maybe I
can help you if you are working on that.

How is the libgit integration going?

I had the same idea as Dale, using short SHAs instead of correlative
numbers, but I didn't have the time yet to got down that path.

Ok.

Therry, you said that


      you'll have a bunch of stuff expecting version numbers that will
    stop working.

Do you already know which stuff will stop working? That would be realy
helpful.

All the Monticello GUI : track down version numbers to order stuff in the lists views everywhere.

The Metacello / Gofer stuff (Configurations, Baselines) also use version numbers.

One of the difficulty of switching will be the cohabitation of number-based systems (smalltalkhub) and SHA-based systems, especially when you do things like copying a version from a git repository to a smalltalkhub repository.
My thoughts are that the we'd change the package name parsers to accept hex numbers as version numbers ... granted packages with hex version numbers could wreak havoc if they found their way into an mcz repository, but frankly a developer choosing to go metadata-less isn't likely to be using very many mcz repositories anyway and if a project is migrated to an mcz repository I would think it would be acceptable for the first version in the ancestry to be the Short SHA (allowing one to trace an ancestry manually in a git repo if desired) and subsequent version numbers could use decimal notation ...the version number is not involved in the maintaining monticello ancestry (using a version number is a convention as far as monticello is concerned)

That's why I suggested to change the ordering relation to a partial order based on the property A is an ancestor of B -> B is before A.
Frankly for git packages, I have toyed with notion of eliminating the version number from the package name altogether. The version number in the name of a package was invented as a convention because otherwise there was no way to distinguish different Monticello packages from each other ... in FileTree we simply use the name of the package to name the directory and technically there is only ever one version of a package in a git repo anyway ... perhaps we should look at completely eliminating the version number from the package altogether?

With the cypress package extension, Metacello should be ignoring the version number anyway --- a package without a version number is "obviously metadata-less" ... Hmmm, it might even be easier to parse a package that doesn't even have a version number (or author name for that matter) ... If we are going to be making mods to tools it might be better to go this route ... What do you guys think?

Dale

Reply via email to