I'm posting this because I ran into this problem a few times and keep
-- forgetting what's wrong! Hopefully, it will save someone else a headache :) In MyMainProject's baseline, I have: baseline: 'MyPrivateDependentProject' with: [ spec repository: 'bitbucket://SeanDeNigris/my-private-dependent-project:master/repository' ]. Loading MyMainProject via: Metacello new repository: 'filetree://', (repoFolder / 'repository') fullName; baseline: 'MyMainProject'; onConflict: [ :ex | ex allow ]; load. Produces: 'Error: can''t find EOCD position', because the zip archive has not been downloaded. As a sanity check, I replaced the bitbucket URL with one of a public bitbucket project, and the source downloaded successfully. So, the moral of the story, I think, is that if you want to depend on a private project, for which you use SSH keys to authenticate, you must use a filetree URL in your baesline and manage the cloning yourself. This is probably usually what you want anyway for two projects under development which you both control, so not a huge deal AFAICT. HTH! You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
On 10/07/2015 06:16 PM, Sean DeNigris wrote: > I'm posting this because I ran into this problem a few times and keep > forgetting what's wrong! Hopefully, it will save someone else a > headache :) > > In MyMainProject's baseline, I have: > baseline: 'MyPrivateDependentProject' with: [ > spec > repository: > 'bitbucket://SeanDeNigris/my-private-dependent-project:master/repository' > ]. > > Loading MyMainProject via: > Metacello new > repository: 'filetree://', (repoFolder / 'repository') fullName; > baseline: 'MyMainProject'; > onConflict: [ :ex | ex allow ]; > load. > > Produces: 'Error: can''t find EOCD position', because the zip archive has > not been downloaded. As a sanity check, I replaced the bitbucket URL with > one of a public bitbucket project, and the source downloaded successfully. > > So, the moral of the story, I think, is that if you want to depend on a > private project, for which you use SSH keys to authenticate, you must > use a > filetree URL in your baesline and manage the cloning yourself. This is > probably usually what you want anyway for two projects under development > which you both control, so not a huge deal AFAICT. Hey Sean, Is this related to the credential issues and the open PR[1]? FWIW, even the public bitbucket zip downloads seem to fail a bit more frequently than zip downloads from github ... I agree with your final conclusion ... if you are directly developing or simply using a project that is on github or bitbucket, you should be in the habit of making a local clone for all of the projects you use for several reasons: - with local git clones, you can do full system builds without having to be connected to the internet - with local git clones, you tightly manage the version of the project that you are using and can decide to upgrade/update at your discretion with an explicit pull request - when you hit the point where you want to contribute to the project, you can create a topic branch and do you your work without breaking stride, because you already have a local clone Dale [1] https://github.com/dalehenrich/metacello-work/pull/368 -- You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Free forum by Nabble | Edit this page |