In the last month or so we've had a couple of different discussions on
this list involving adding support to Metacello (otherwise known as "Cypress package extension") for GitFileTree's metadata-less mode[1] and [4] and earlier this week I released a new version of Metacello[2] that includes an updated version of the "Cypress package extension"[5]. Depending on the version of Pharo you are using, at some point in time, I expect this new release of Metacello to be available in the standard download. Until then, to install the latest version of Metacello into Pharo execute the following in a workspace: Metacello new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:master/repository'; get. Metacello new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:master/repository'; onConflict: [:ex | ex allow]; load If you are using GitFileTree's metadata-less mode and Metacello, then add the following method to your BaselineOf: projectClass ^ MetacelloCypressBaselineProject and you are good to go. If you are curious as to why "Cypress package extensions" are needed, you can read this comment[6] for a description of what rules Metacello uses when fetching/loading packages from a FileTree repository using a baseline. On a slightly different topic, Alistair Grant ran into a bug involving Metacello and how it semantic version numbers[7] a couple months ago and this release includes a bug fix ... the bug was related to the fact that the parser was too lenient and did throw an error for some forms of invalid Semantic version numbers ... with this fix an error is thrown ... of course it is entirely possible that there are ConfigurationOfs out in the wild that "depend upon the old behavior" so if you get an "invalid version number" error while working with a configuration and discover that it is not practical to redefine the version numbers to conform to the semantic version number format then you can add the following method to the ConfigurationOf and the old, buggy version of the parser will be used: versionNumberClass ^ MetacelloOldSemanticVersionNumber If you are sharing code between GemStone and Pharo, then you will want to make sure that you install the new version of Metacello in GemStone as well. See the GemStone release announcement for details[8]. Dale [1] http://forum.world.st/Saving-to-local-git-and-quot-Loading-all-file-names-from-http-pharo5-inbox-quot-tt4897962.html#a4905790 [2] https://github.com/dalehenrich/metacello-work/pull/401 [4] http://forum.world.st/How-do-I-convert-a-FileTree-project-to-Metadataless-GitFileTree-project-tp4903920p4905054.html [5] https://github.com/dalehenrich/metacello-work/issues/399 [6] https://github.com/dalehenrich/metacello-work/issues/399#issuecomment-231464884 [7] https://github.com/dalehenrich/metacello-work/issues/392 [8] http://forum.world.st/new-release-of-Metacello-metadata-less-FileTree-repository-support-part-IV-tt4906322.html |
I need to proof read my posts more carefully...
On 07/14/2016 12:49 PM, Dale Henrichs
wrote:
months ago and this release includes a bug fix ... the bug was related to the fact that the parser was too lenient and did throw anOn a slightly different topic, Alistair Grant ran into a bug involving Metacello and how it PARSES semantic version numbers[7] a couple months ago and this release includes a bug fix ... the bug was related to the fact that the parser was too lenient and did NOT throw an error for some forms of invalid Semantic version numbers ... with this fix an error is thrown ... of course it is entirely possible that there are ConfigurationOfs out in the wild that "depend upon the old behavior" so if you get an "invalid version number" error while working with a configuration and discover that it is not practical to redefine the version numbers to conform to the semantic version number format then you can add the following method to the ConfigurationOf and the old, buggy version of the parser will be used: |
Thank you Dale, this is very useful! On Thu, Jul 14, 2016 at 9:54 PM, Dale Henrichs <[hidden email]> wrote:
|
In reply to this post by Dale Henrichs-3
Le 14/07/2016 à 21:49, Dale Henrichs a écrit :
> Depending on the version of Pharo you are using, at some point in time, > I expect this new release of Metacello to be available in the standard > download. Until then, to install the latest version of Metacello into > Pharo execute the following in a workspace: > > Metacello new > baseline: 'Metacello'; > repository: 'github://dalehenrich/metacello-work:master/repository'; > get. > Metacello new > baseline: 'Metacello'; > repository: 'github://dalehenrich/metacello-work:master/repository'; > onConflict: [:ex | ex allow]; > load > When I try to upgrade Metacello in the latest Pharo 6 I get an error "receiver of withSqueakLineEnding is nil" See: http://puu.sh/q3zet/310f6d3086.png -- Cyril Ferlicot http://www.synectique.eu 165 Avenue Bretagne Lille 59000 France signature.asc (836 bytes) Download Attachment |
On 07/17/2016 11:19 AM, Cyril Ferlicot D. wrote: > Le 14/07/2016 à 21:49, Dale Henrichs a écrit : >> Depending on the version of Pharo you are using, at some point in time, >> I expect this new release of Metacello to be available in the standard >> download. Until then, to install the latest version of Metacello into >> Pharo execute the following in a workspace: >> >> Metacello new >> baseline: 'Metacello'; >> repository: 'github://dalehenrich/metacello-work:master/repository'; >> get. >> Metacello new >> baseline: 'Metacello'; >> repository: 'github://dalehenrich/metacello-work:master/repository'; >> onConflict: [:ex | ex allow]; >> load >> > Hi Dale, > > When I try to upgrade Metacello in the latest Pharo 6 I get an error > "receiver of withSqueakLineEnding is nil" > > See: http://puu.sh/q3zet/310f6d3086.png > This appears to be related to the fact that the class comment file (README.md) is unexpectedly missing from your download ... Since the file is present on GitHub[1] ... perhaps the download from failed in an odd way without triggering an error leading to this problem ... I would have expected an incomplete download error along the way --- if you still have a copy of the Transcript a download error message should be present ... Retrying the git get/load might get a good result ... Dale [1] https://github.com/dalehenrich/metacello-work/tree/master/repository/BaselineOfMetacello.package/BaselineOfMetacello.class https://github.com/dalehenrich/filetree/blob/pharo6.0_dev/repository/MonticelloFileTree-Core.package/MCFileTreeStCypressReader.class/instance/addClassAndMethodDefinitionsFromEntry..st |
Le 18/07/2016 à 20:33, Dale Henrichs a écrit :
> > Hello Cyril, > > This appears to be related to the fact that the class comment file > (README.md) is unexpectedly missing from your download ... Since the > file is present on GitHub[1] ... perhaps the download from failed in an > odd way without triggering an error leading to this problem ... I would > have expected an incomplete download error along the way --- if you > still have a copy of the Transcript a download error message should be > present ... > > Retrying the git get/load might get a good result ... > I can reproduce it on this computer in Pharo 5 and 6. I also try to rewrite everything to be sure there was no weird character during the copy paste. I wrote: Metacello new githubUser: 'dalehenrich' project: 'metacello-work' commitish: 'master' path: 'repository'; baseline: 'Metacello'; get. Metacello new githubUser: 'dalehenrich' project: 'metacello-work' commitish: 'master' path: 'repository'; baseline: 'Metacello'; onConflict: [ :e | e allow ]; load But I got the same. Apparently there is a problem during the fetching of the baseline. In the Transcript I got: ...RETRY->BaselineOfMetacello ...RETRY ...RETRY I also deleted the github-cache before launching the command. Here is a screen to help you a little: http://puu.sh/q67ok/74e233309c.png I did not try on another OS (Windows 7 here), but I can try tomorrow. BTW, this is not related but in pharo 6, the github-cache/ should not be located in the image directory but in `SystemResolver userLocalDirectory` instead. This is a directory created by Esteban to reduce the noise created by the multiple files. Is it Metacello that create this folder? Do you want me to create an issue on github? > Dale > > [1] > https://github.com/dalehenrich/metacello-work/tree/master/repository/BaselineOfMetacello.package/BaselineOfMetacello.class > > > https://github.com/dalehenrich/filetree/blob/pharo6.0_dev/repository/MonticelloFileTree-Core.package/MCFileTreeStCypressReader.class/instance/addClassAndMethodDefinitionsFromEntry..st > > -- Cyril Ferlicot http://www.synectique.eu 165 Avenue Bretagne Lille 59000 France signature.asc (836 bytes) Download Attachment |
Cyril,
This is a FileTree issue[1] and the Pharo ports are maintained by Thierry Goubier so include @ThierryGoubier in the body and he will see the issue .. I believe that the Pharo6.0 port is in progress as there is only a dev branch for Pharo6 at the moment[2]. Dale [1] https://github.com/dalehenrich/filetree/issues/new [2] https://github.com/dalehenrich/filetree/tree/pharo6.0_dev On 07/18/2016 01:09 PM, Cyril Ferlicot
D. wrote:
Le 18/07/2016 à 20:33, Dale Henrichs a écrit :Hello Cyril, This appears to be related to the fact that the class comment file (README.md) is unexpectedly missing from your download ... Since the file is present on GitHub[1] ... perhaps the download from failed in an odd way without triggering an error leading to this problem ... I would have expected an incomplete download error along the way --- if you still have a copy of the Transcript a download error message should be present ... Retrying the git get/load might get a good result ...Hi Dale, I can reproduce it on this computer in Pharo 5 and 6. I also try to rewrite everything to be sure there was no weird character during the copy paste. I wrote: Metacello new githubUser: 'dalehenrich' project: 'metacello-work' commitish: 'master' path: 'repository'; baseline: 'Metacello'; get. Metacello new githubUser: 'dalehenrich' project: 'metacello-work' commitish: 'master' path: 'repository'; baseline: 'Metacello'; onConflict: [ :e | e allow ]; load But I got the same. Apparently there is a problem during the fetching of the baseline. In the Transcript I got: ...RETRY->BaselineOfMetacello ...RETRY ...RETRY I also deleted the github-cache before launching the command. Here is a screen to help you a little: http://puu.sh/q67ok/74e233309c.png I did not try on another OS (Windows 7 here), but I can try tomorrow. BTW, this is not related but in pharo 6, the github-cache/ should not be located in the image directory but in `SystemResolver userLocalDirectory` instead. This is a directory created by Esteban to reduce the noise created by the multiple files. Is it Metacello that create this folder? Do you want me to create an issue on github?Dale [1] https://github.com/dalehenrich/metacello-work/tree/master/repository/BaselineOfMetacello.package/BaselineOfMetacello.class https://github.com/dalehenrich/filetree/blob/pharo6.0_dev/repository/MonticelloFileTree-Core.package/MCFileTreeStCypressReader.class/instance/addClassAndMethodDefinitionsFromEntry..st |
In reply to this post by Dale Henrichs-3
Le 18/07/2016 à 20:33, Dale Henrichs a écrit :
> > Hello Cyril, > > This appears to be related to the fact that the class comment file > (README.md) is unexpectedly missing from your download ... Since the > file is present on GitHub[1] ... perhaps the download from failed in an > odd way without triggering an error leading to this problem ... I would > have expected an incomplete download error along the way --- if you > still have a copy of the Transcript a download error message should be > present ... > > Retrying the git get/load might get a good result ... > > Dale > > [1] > https://github.com/dalehenrich/metacello-work/tree/master/repository/BaselineOfMetacello.package/BaselineOfMetacello.class > > > https://github.com/dalehenrich/filetree/blob/pharo6.0_dev/repository/MonticelloFileTree-Core.package/MCFileTreeStCypressReader.class/instance/addClassAndMethodDefinitionsFromEntry..st > > I got some time to retry a little. I tried to load in Pharo 6 a project of mine that is on GitHub and it worked. I tried in the same image to load Metacello but it failed. When I go in the github-cache/ folder, I see that the Metacello folder contains all the folder of each packages BUT they do not contains any files[1]. The only file in the folder is the .filetree file in the repository/ folder. I get the problem into Pharo 5 and 6 on Windows 7. I do not have this problem on OSX. Also, I tried to download the zip of the repository and when I try to extract it on Windows I get an error message saying that the zip file is not valid[2]. When I try to clone the repository I get an error because some names are too long[3]. -- [1] http://puu.sh/qcVoG/60e481ec1b.png [2] http://puu.sh/qcVqE/f8a4dbd36d.png [3] http://puu.sh/qcVkh/fbd16ba541.png -- Cyril Ferlicot http://www.synectique.eu 165 Avenue Bretagne Lille 59000 France signature.asc (836 bytes) Download Attachment |
On 7/24/16 11:29 AM, Cyril Ferlicot D. wrote: > Le 18/07/2016 à 20:33, Dale Henrichs a écrit : >> Hello Cyril, >> >> This appears to be related to the fact that the class comment file >> (README.md) is unexpectedly missing from your download ... Since the >> file is present on GitHub[1] ... perhaps the download from failed in an >> odd way without triggering an error leading to this problem ... I would >> have expected an incomplete download error along the way --- if you >> still have a copy of the Transcript a download error message should be >> present ... >> >> Retrying the git get/load might get a good result ... >> >> Dale >> >> [1] >> https://github.com/dalehenrich/metacello-work/tree/master/repository/BaselineOfMetacello.package/BaselineOfMetacello.class >> >> >> https://github.com/dalehenrich/filetree/blob/pharo6.0_dev/repository/MonticelloFileTree-Core.package/MCFileTreeStCypressReader.class/instance/addClassAndMethodDefinitionsFromEntry..st >> >> > Hi Dale, > > I got some time to retry a little. > > I tried to load in Pharo 6 a project of mine that is on GitHub and it > worked. > > I tried in the same image to load Metacello but it failed. > > When I go in the github-cache/ folder, I see that the Metacello folder > contains all the folder of each packages BUT they do not contains any > files[1]. The only file in the folder is the .filetree file in the > repository/ folder. > > I get the problem into Pharo 5 and 6 on Windows 7. I do not have this > problem on OSX. > > Also, I tried to download the zip of the repository and when I try to > extract it on Windows I get an error message saying that the zip file is > not valid[2]. > > When I try to clone the repository I get an error because some names are > too long[3]. > > -- > [1] http://puu.sh/qcVoG/60e481ec1b.png > [2] http://puu.sh/qcVqE/f8a4dbd36d.png > [3] http://puu.sh/qcVkh/fbd16ba541.png Thanks for providing a stack trace ... I recognize the issue --- windows has a 256 char (I think) path length limit and a handful of the Metacello methods exceed this limit ... I've created a dev_win-hack branch on Metacello where I renamed the files that were exceeding the limit[1] --- in my particular use case, git was not able to access the files which is why I didn't recognize the issue initially --- there are a garden basket of problems when trying to use windows, but the stack provided the necessary detail to figure out which piece of fruit was going bad :) Anyway, the following should do the trick: Metacello new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:dev_win-hack/repository'; get. Metacello new baseline: 'Metacello'; repository: 'github://dalehenrich/metacello-work:dev_win-hack/repository'; onConflict: [:ex | ex allow]; load I just merged the latest master branch into the dev_win-hack branch, so it will have the cypress package support --- but we may not be out of the woods quite yet ... you probably need to locate your github-cache directory as close to the root of your disk as possible. Use the following to change the default github-cache location: MCGitHubRepository cacheDirectory: 'directory-path' Good luck, Dale [1] https://github.com/GsDevKit/GsDevKit_home/blob/master/docs/installation/configureOS.md#windows |
Le 24/07/2016 à 22:23, Dale Henrichs a écrit :
> > > Cyril, > > Thanks for providing a stack trace ... I recognize the issue --- windows > has a 256 char (I think) path length limit and a handful of the > Metacello methods exceed this limit ... I've created a dev_win-hack > branch on Metacello where I renamed the files that were exceeding the > limit[1] --- in my particular use case, git was not able to access the > files which is why I didn't recognize the issue initially --- there are > a garden basket of problems when trying to use windows, but the stack > provided the necessary detail to figure out which piece of fruit was > going bad :) > > Anyway, the following should do the trick: > > Metacello new > baseline: 'Metacello'; > repository: > 'github://dalehenrich/metacello-work:dev_win-hack/repository'; > get. > Metacello new > baseline: 'Metacello'; > repository: > 'github://dalehenrich/metacello-work:dev_win-hack/repository'; > onConflict: [:ex | ex allow]; > load > > I just merged the latest master branch into the dev_win-hack branch, so > it will have the cypress package support --- but we may not be out of > the woods quite yet ... you probably need to locate your github-cache > directory as close to the root of your disk as possible. Use the > following to change the default github-cache location: > > MCGitHubRepository cacheDirectory: 'directory-path' > > Good luck, > Thank you for the quick hack and answer! You rock! I like to work a little on window for personal projects because I can see all the bugs that people don't usually see and report them. :) > Dale > > [1] > https://github.com/GsDevKit/GsDevKit_home/blob/master/docs/installation/configureOS.md#windows > > -- Cyril Ferlicot http://www.synectique.eu 165 Avenue Bretagne Lille 59000 France signature.asc (836 bytes) Download Attachment |
In reply to this post by Dale Henrichs-3
On Mon, Jul 25, 2016 at 4:23 AM, Dale Henrichs
<[hidden email]> wrote: > > > On 7/24/16 11:29 AM, Cyril Ferlicot D. wrote: >> >> Le 18/07/2016 à 20:33, Dale Henrichs a écrit : >>> >>> Hello Cyril, >>> >>> This appears to be related to the fact that the class comment file >>> (README.md) is unexpectedly missing from your download ... Since the >>> file is present on GitHub[1] ... perhaps the download from failed in an >>> odd way without triggering an error leading to this problem ... I would >>> have expected an incomplete download error along the way --- if you >>> still have a copy of the Transcript a download error message should be >>> present ... >>> >>> Retrying the git get/load might get a good result ... >>> >>> Dale >>> >>> [1] >>> >>> https://github.com/dalehenrich/metacello-work/tree/master/repository/BaselineOfMetacello.package/BaselineOfMetacello.class >>> >>> >>> >>> https://github.com/dalehenrich/filetree/blob/pharo6.0_dev/repository/MonticelloFileTree-Core.package/MCFileTreeStCypressReader.class/instance/addClassAndMethodDefinitionsFromEntry..st >>> >>> >> Hi Dale, >> >> I got some time to retry a little. >> >> I tried to load in Pharo 6 a project of mine that is on GitHub and it >> worked. >> >> I tried in the same image to load Metacello but it failed. >> >> When I go in the github-cache/ folder, I see that the Metacello folder >> contains all the folder of each packages BUT they do not contains any >> files[1]. The only file in the folder is the .filetree file in the >> repository/ folder. >> >> I get the problem into Pharo 5 and 6 on Windows 7. I do not have this >> problem on OSX. >> >> Also, I tried to download the zip of the repository and when I try to >> extract it on Windows I get an error message saying that the zip file is >> not valid[2]. >> >> When I try to clone the repository I get an error because some names are >> too long[3]. >> >> -- >> [1] http://puu.sh/qcVoG/60e481ec1b.png >> [2] http://puu.sh/qcVqE/f8a4dbd36d.png >> [3] http://puu.sh/qcVkh/fbd16ba541.png > > Cyril, > > Thanks for providing a stack trace ... I recognize the issue --- windows has > a 256 char (I think) path length limit and a handful of the Metacello > methods exceed this limit ... I've created a dev_win-hack branch on > Metacello where I renamed the files that were exceeding the limit[1] --- in > my particular use case, git was not able to access the files which is why I > didn't recognize the issue initially --- there are a garden basket of > problems when trying to use windows, but the stack provided the necessary > detail to figure out which piece of fruit was going bad :) Or could paths be specified in this format... \\?\D:\very long path". https://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx#maxpath cheers -ben > > Anyway, the following should do the trick: > > Metacello new > baseline: 'Metacello'; > repository: > 'github://dalehenrich/metacello-work:dev_win-hack/repository'; > get. > Metacello new > baseline: 'Metacello'; > repository: > 'github://dalehenrich/metacello-work:dev_win-hack/repository'; > onConflict: [:ex | ex allow]; > load > > I just merged the latest master branch into the dev_win-hack branch, so it > will have the cypress package support --- but we may not be out of the woods > quite yet ... you probably need to locate your github-cache directory as > close to the root of your disk as possible. Use the following to change the > default github-cache location: > > MCGitHubRepository cacheDirectory: 'directory-path' > > Good luck, > > Dale > > [1] > https://github.com/GsDevKit/GsDevKit_home/blob/master/docs/installation/configureOS.md#windows > |
On 7/24/16 4:47 PM, Ben Coman wrote: > On Mon, Jul 25, 2016 at 4:23 AM, Dale Henrichs > <[hidden email]> wrote: >> >> On 7/24/16 11:29 AM, Cyril Ferlicot D. wrote: >>> Le 18/07/2016 à 20:33, Dale Henrichs a écrit : >>>> Hello Cyril, >>>> >>>> This appears to be related to the fact that the class comment file >>>> (README.md) is unexpectedly missing from your download ... Since the >>>> file is present on GitHub[1] ... perhaps the download from failed in an >>>> odd way without triggering an error leading to this problem ... I would >>>> have expected an incomplete download error along the way --- if you >>>> still have a copy of the Transcript a download error message should be >>>> present ... >>>> >>>> Retrying the git get/load might get a good result ... >>>> >>>> Dale >>>> >>>> [1] >>>> >>>> https://github.com/dalehenrich/metacello-work/tree/master/repository/BaselineOfMetacello.package/BaselineOfMetacello.class >>>> >>>> >>>> >>>> https://github.com/dalehenrich/filetree/blob/pharo6.0_dev/repository/MonticelloFileTree-Core.package/MCFileTreeStCypressReader.class/instance/addClassAndMethodDefinitionsFromEntry..st >>>> >>>> >>> Hi Dale, >>> >>> I got some time to retry a little. >>> >>> I tried to load in Pharo 6 a project of mine that is on GitHub and it >>> worked. >>> >>> I tried in the same image to load Metacello but it failed. >>> >>> When I go in the github-cache/ folder, I see that the Metacello folder >>> contains all the folder of each packages BUT they do not contains any >>> files[1]. The only file in the folder is the .filetree file in the >>> repository/ folder. >>> >>> I get the problem into Pharo 5 and 6 on Windows 7. I do not have this >>> problem on OSX. >>> >>> Also, I tried to download the zip of the repository and when I try to >>> extract it on Windows I get an error message saying that the zip file is >>> not valid[2]. >>> >>> When I try to clone the repository I get an error because some names are >>> too long[3]. >>> >>> -- >>> [1] http://puu.sh/qcVoG/60e481ec1b.png >>> [2] http://puu.sh/qcVqE/f8a4dbd36d.png >>> [3] http://puu.sh/qcVkh/fbd16ba541.png >> Cyril, >> >> Thanks for providing a stack trace ... I recognize the issue --- windows has >> a 256 char (I think) path length limit and a handful of the Metacello >> methods exceed this limit ... I've created a dev_win-hack branch on >> Metacello where I renamed the files that were exceeding the limit[1] --- in >> my particular use case, git was not able to access the files which is why I >> didn't recognize the issue initially --- there are a garden basket of >> problems when trying to use windows, but the stack provided the necessary >> detail to figure out which piece of fruit was going bad :) > Or could paths be specified in this format... > \\?\D:\very long path". > > https://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx#maxpath > within the FileSystem code or maybe the vm ... I'm pretty sure that FileTree is using FileReferences to access the files with long file paths in a platform independent manner ... Dale |
Free forum by Nabble | Edit this page |