On 6/29/16 6:30 AM, Nicolas Passerini wrote:
Thank you Thierry!

I have more questions inline.

On Wed, Jun 29, 2016 at 10:44 AM, Thierry Goubier <thierry.goub...@gmail.com <mailto:thierry.goub...@gmail.com>> wrote:

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


So, if we built a new GUI which does not rely on those version numbers maybe we could get rid of that problem, what do you think?
The package browser for a git repository does not need to list all versions of the package ... listing a single package name (sans version number and author) is sufficient.

Of course this new tool needs to provide access to the commit log for the repo and then you need to be allowed to do diffs between git versions without respect to packages as well ...

The tool should also provide the git commit log for the package directory (moral equivalent of package history) but then there should also be a way to see the commit history for a class and the methods ...

These are things that I have already done for tODE...


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


Yes, I understand that they use version numbers, but do they require that version numbers are correlative?
in Metacello, package version numbers are only relevant in the context of a ConfigurationOf. Only the base package name (sans version number and author) is used in a BaselineOf ... technically ... right now ... Metacello does use the version number when determining whether or not to load a package, but I have a Cypress package extension for Metacello that ignores the package version when loading and this extension will become part of the standard Metacello release in support of metadataless repos ....

Today a ConfigurationOf should not/cannot be used with a metadataless repository, so version numbers on packages is a moot point.


    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.


I think that currently it is not possible to copy a number-based package version from smalltalkhub to a metadata-less git repository using git file tree. I mean, you can but the new version will not have the same version number, right?
Yes ...


    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.


I've lost you there. I agree that it is true that A is an ancestor of B -> B is before A, but the most common problem goes the other way arround, i.e. you want to know if A is ancestor of B and the implication then is not true: B is before A 'does not imply' B is ancestor of A. So I missed your point here.
I think that ordering is a moot point for metadata-less repositories ...

There is only one package version present in a checkout of a git repository and it think that it makes sense to turn to explicit git-based tools when dealing with git-based repositories ...

I know that GitFileTree has been aimed at preserving the Monticello-ness of packages, but I think that approach is limiting --- because Monticello itself is limited ---

When I look at a particular commit that I've done with from tODE I not only see the changes that I've made to package, but I also see the changes that I made along the way to other things I've stashed in the git repository like documentation and scripts so to really support the use of git from within the image, we have to start acknowledging that there are artifacts in the git repository that are not just Monticello packages and those artifacts are important to me as a developer to be able to view in the context of the changes that I've made to my code and non-code artifacts ...

For me going metadataless does not imply that "we reconstruct monticello meta data from git" but that "we abandon the Monticello meta data completely" in favor or git-based tools ...

Monticello packages with full metadata will not go away anytime soon, and I am not advocating the abandonment Monticello altogether.

I am advocating that for developers choosing to use git that we build a set of tools that give direct access to git artifacts ...

In tODE I have found that it is possible to provide all of the familiar tools for Monticello packages using a git flavor in parallel with the traditional Monticello metadata-full tools ... at this point in the evolution of Pharo I think that a hybrid approach is called for ..

Dale

Reply via email to