Hmmm... Examples 6 and 7 look the same to me, care to explain further? -- Cheers, Peter. On 14 dec 2009, at 09.11, Lukas Renggli <renggli@gmail.com> wrote:
The latest version of Gofer should be more stable. I've rewritten most internal implementation details, the tests should run faster and they do not depend on an external repository anymore. Most of the core functionality is now tested, not just things that are easy to test. I did the following changes:
1. I've renamed #addPackage: and #addVersion: to #package: and #version:. The #add: caused some confusion and people asked me what was done at this point. Since this is just a plain specification of a package or a version it is now called like that. It is also shorter.
2. Gofer doesn't support any longer to work on different repository groups in one operation. I've never used it and it made the implementation more complicated than necessary. The order in which things are defined in Gofer doesn't matter anymore. The following specification would try to operate on the packages Seaside2.8a1, Scriptaculous and RSRSS2 in the repositories of Seaside and rsrss.
Gofer new squeaksource: 'Seaside'; package: 'Seaside2.8a1'; package: 'Scriptaculous'; squeaksource: 'rsrss'; package: 'RSRSS2'
The above snipped is the same as the one below (which is the preferred way of writing it):
Gofer new squeaksource: 'Seaside'; squeaksource: 'rsrss'; package: 'Seaside2.8a1'; package: 'Scriptaculous'; package: 'RSRSS2'
3. Gofer prefers to load versions from faster repositories. The package-cache and local file-directories have higher priority than remote repositories.
4. Gofer implicitly declares the local package cache as a repository. To disable this, send the message #disablePackageCache to the Gofer instance.
5. Gofer throws errors if a repository is not reachable. To disable this, send the message #disableRepositoryErrors to the Gofer instance. The example below will silently load the latest Seaside version from the package-cache, if the remote repository is not reachable (network error, squeaksource down, invalid repositor):
Gofer new disableRepositoryErrors; squeaksource: 'Seaside'; package: 'Seaside2.8a1'; load
6. The following command fetches all versions of SomePackage into the local package-cache that are not downloaded yet:
Gofer new squeaksource: 'repository'; package: 'SomePackage'; fetch
7. The following command commits all versions of SomePackage into the remote repository that are not uploaded yet:
Gofer new squeaksource: 'repository'; package: 'SomePackage'; fetch
8. Gofer has better support for FTP repositories:
Gofer new url: 'ftp://wtf-is-ftp.com/code'; ...
9. And local directories:
Gofer new directory: '/home/renggli/repository'; ...
10. And local directories with subdirectories:
Gofer new directory: '/home/renggli/repository/*'; ...
With all this new functionality there might be bugs :-)
Lukas
-- Lukas Renggli http://www.lukas-renggli.ch
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project