Mariano,
After closer inspection it turns out that for FTP repositories, you must specify the username to uniquely identify the FTP url. If you specify the username and leave the password empty in your Metacello spec, things should work correctly ...
Here are the gory details.
There is code in Metacello that looks like the following:
description := aSpec description.
(repo := repositories
detect: [:rep | rep description = description ]
ifNone: [ aSpec createRepository ]) ~~ nil
ifTrue: [ repos add: repo ]
where Metacello is attempting to determine if the repository has already been created in the image. If the repository exists, then the in-image credentials are used and you don't have to include user and password in the Metacello repository spec.
BTW, if you look at MCRepository>>= Metacello is basically using the same algorithm.
Now if you look at how MCHttpRepository behaves:
(MCHttpRepository
location: '
http://example.com'
user: 'foo'
password: 'bar') description.
prints as:
'
http://example.com'
Notice that the user is excluded from the description.
Whereas for MCFtpRepository behaves differently:
(MCFtpRepository
password: 'whatelse') description.
prints as:
'
ftp://what...@ftp.mydomain.com/myDirectory',
Notice that the `user` is included in the description...
So if you want an FTP repository to be considered #= to another FTP repository you must specify the user name ...
Let me know if this works for you.
Dale
| Sent: Tuesday, April 16, 2013 7:55:50 AM
| Subject: Re: [Metacello] FTP repo without storing username/pass in ConfigurationOf
|