It isn't only #changeDirectory: method that is missing. Method #workingDirectoryPath: and instance variable workingDirectory are also missing.��

FileSystem >> changeDirectory: aPath
�� self workingDirectoryPath: (self resolve: aPath)

FileSystem >> workingDirectoryPath: aPath
�� aPath isAbsolute
�� �� ifFalse: [ self error: 'Cannot set the working directory to a relative path' ].
�� workingDirectory := aPath


To solve my problem, I implemented those and also fixed #initializeWithStore: and changed #workingDirectoryPath

FileSystem >> initializeWithStore: aStore
�� store := aStore.
�� workingDirectory := store defaultWorkingDirectory

FileSystem >> workingDirectoryPath
�� ^ workingDirectory


Those are from Pharo 5. However, this breaks Monticello (when opening Monticello Browser). A FileSystem instance has instance variable workingDirectory set to nil. This should be impossible. I set 'self halt' in #initializeWithStore:. It doesn't get triggered, which tells me the instance isn't created by normal way. I don't know what's going on there.


To fix it, I changed #workingDirectoryPath to

FileSystem >> workingDirectoryPath
�� workingDirectory ifNil: [
�� �� workingDirectory := store defaultWorkingDirectory ].
�� ^ workingDirectory


That solves my problem, but this is a specific tool. I don't know what other problems those changes will cause. This #ifNil: guard is not in Pharo 5, so that makes me worry. In general, the change in FileSystem gives impression that the it is intentional. But I haven't found the new Pharo 6.1 way to change working directory, if there's any.


--
Andreas

On Tue, Sep 5, 2017 at 12:46 AM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
Thanks for reporting.
I do not remember an action around me for this change.
Do you have the definition in Pharo 50 at hand?

Stef

On Wed, Aug 30, 2017 at 11:09 PM, Andreas Sunardi <a.sunardi@gmail.com> wrote:
> I found FileSystem class has changed from Pharo 5 to Pharo 6. I've been
> using FileSystem>>changeDirectory to make my program (Pharo 5) runs in the
> current working directory (thus able to find local files).
>
> This is now broken because #changeDirectory doesn't exist anymore. The
> change seems intentional.
>
> Question: Is there a different way in Pharo 6 do set working directory or is
> this a bug?
>
> --
> Andreas