-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Customer has a common file system for development and test systems, but it's not available on the production server. To do a somewhat non-standard upgrade, I used an environment variable in the paths for the repository.
e.g.
GsDeployer bulkMigrate: [
Metacello new
baseline: 'Gofer';
repository: 'filetree://$reposDir/Gofer/repository';
lock; get.
Metacello new
baseline: 'Metacello';
repository: 'filetree://$reposDir/metacello-work/repository';
lock; get.
The environment variable was defined during the execution of the script, but not generally.
After the upgrade, I attempted to run a #metacelloReport (as recommended in the README), but it quickly failed with the error:
a UserDefinedError occurred (error 2318), reason:halt, filetree:// repository '$reposDir/filetree/repository' does not exist.
When I define the environment variable and restart the Net:LDI, the report works as expected.
At this point, I am willing to live with this. Initially, I found the error hard to fathom.
Still, it might be worthwhile to have GsUpgrader >> metacelloRegistrationReportOn: include an error handler around registration currentBranchName to catch the error and use the exception's #messageText the report would be more useful.
e.g.
|FileTree| [Error: filetree:// repository '$reposDir/filetree/repository' does not exist.]
GLASS 1.0-beta.9.2.1 [development]
|GLASS1| [Error: filetree:// repository '$reposDir/glass/repository' does not exist.]
|Gofer| [Error: filetree:// repository '$reposDir/Gofer/repository' does not exist.]
GoferProjectLoader 1.0-alpha2.2 [development]