Hi Dale, I'm back at that again. And I think that Metacello is already failing with repositories that have true branches (git + filetree). Metacello delegates to Monticello which rely on full ordering to establish upgrades or loading preferences. And on repositories with branches, each branch has its own ordering, making upgrades a possible problem (such as switching to a new branch with a new version and discover there that the top of that branch has a lower version number than the previous version == no load). Granted, this is less probable, but could surprise... Now, if Metacello could use the semantic versionning present in the Configurations and Baselines... Thierry Le 08/11/2015 17:41, Dale Henrichs a écrit :
On 11/7/15 10:00 AM, Thierry Goubier wrote:
Oh yes,
I can announce that from now on, the development version of GitFileTree for Pharo 5 handles FileTree repositories without most of the metadata (precisely version and methodProperties).
This makes the format a lot more DVCS friendly (Git, Fossil, Hg, SVN, all...) by cutting the noise on diffs and conflicts on merge and cherry picking.
Note: it only apply to brand new repositories; nothing is changed for pre-existing ones.
Note2: reading those Metadata-less repositories with FileTree does give you packages without metadata: no version history, no author, no author nor timestamp on methods.
Note3: it is possible to hack a repo from metadata to non-metadata mode, but I won't explain it.
Enjoy and tell me how it works for you. I'm especially interested by heavy branchers/mergers reports :)
Thierry
Thierry,
You want to double check that Metacello works correctly with these metadata-less packages ... if you are continuing to increment the "package version" there shouldn't be a problem, but when I did a similar experiment a year or so ago, I found that I had to teach Metacello to ignore the "package version" and load the package anyway ... the normal procedure for Monticello packages and Metacello is not load a package if the "package version" is less than or equal to the package already loaded .... I did make an extension to Metacello to make this work .... I can hunt it up if needed and make it part of the standard release (I may have kept it as part of tODE) ...
Dale