Le 22/09/2016 à 20:53, Dale Henrichs a écrit :

On 09/22/2016 12:41 AM, Sven Van Caekenberghe wrote:
On 22 Sep 2016, at 00:19, Torsten Bergmann <asta...@gmx.de> wrote:

Hi Sven,

thanks. Did not notice that I need three instead of two slashes. So
no need
to explicitly convert to ZnUrl.

So for the records this is what works:

pathToPackageDirectory := 'C:\ClonedRepo\packages'.
Metacello new
  baseline: 'MyProject';
  repository: ('gitfiletree:///', pathToPackageDirectory)  ;
So mixing back & forward slashes works ? Pretty weird ;-)
Yes that is interesting ... in Metacello for Pharo,  `('/',
pathToPackageDirectory ) asFileReference` (stripping the leading
'filetree://') is being used to create the FileTree repository from the
repository description ... so apparently this is how FileSystem deals
with windows pathnames ???

Oh wait, that is a gitfiletee url ... not sure how that is handles ...

GitFileTree has a copy(*) of the ZnUrl code for extracting file references out of urls, so it may differ from Filetree / Metacello (see MCFileTreeGitRepository>>#urlAsFileReference:).

Oh, ok. FileTree has the same method, but with a correction for what must have been a bug in the GitFileTree method (need to have a look at that), however, Metacello does not use that method for a filetree:// url.

Checked in Pharo 6.


(*) Copy because extending ZnUrl wasn't possible without an override. I kind of agree with the Go philosophy there: sometimes, a little bit of copy/paste makes everything simpler.



Gesendet: Dienstag, 20. September 2016 um 20:41 Uhr
Von: "Sven Van Caekenberghe" <s...@stfx.eu>
An: "Pharo Development List" <pharo-dev@lists.pharo.org>
Betreff: Re: [Pharo-dev] ZnPortNotANumber exception when loading
from local clone dir (following Metacello Guide)

Hi Torsten,

Just for the ZnUrl part, have a look at


AFAIK, your example should be written as:

('filetree:///' , 'C:/ClonedRepo/packages') asZnUrl.

Or maybe,

(FileLocator C / 'ClonedRepo' / 'packages') asZnUrl.


On 20 Sep 2016, at 20:30, Torsten Bergmann <asta...@gmx.de> wrote:


according to the Metacello quide on [1] in section "Prime Metacello
registry" one can write

| pathToPackageDirectory |
"edit to match the path to your chosen package directory"
pathToPackageDirectory := '/opt/git/Sample/packages'.
Metacello new
baseline: 'Sample';
repository: 'filetree://', pathToPackageDirectory;

Adopting this for a Windows path I have:

| pathToPackageDirectory |
pathToPackageDirectory := 'C:\ClonedRepo\packages'.
Metacello new
baseline: 'MyProject';
repository: 'filetree://', pathToPackageDirectory;

But I get a ZnPortNotANumber exception, even when I use a diffent
protocol like "client://".
Tried this in Pharo 6.0 Latest update: #60233

What I want to do (on Windows) is to load all project packages from
a local cloned git
directory (not a remote GitHub) using the dependencies given in the

Did I miss something, is it just broken or the docu not up to date?
If so is this a parsing issue on the Zinc URLs
or an issue of Metacello API?



Reply via email to