Hi —
tl;dr: MCFileTreeAbstractReader>>#hasMonticelloMetadata might be better with an #and: than an #or:
When a repo has a 'monticello.meta' directory, but there is no 'version' file in it, e.g. [1], FileTree will currently (incorrectly?) try reading from that non-existent file, which in Squeak 5.3 will leave behind a 0-length file in its place.
This seems to be because:
MCFileTreeAbstractReader>>#hasMonticelloMetadata sees the presence of the 'monticello.meta' directory as a sign that the version file should be present;
MCFileTreeAbstractReader tries to read the version file;
MCFileTreeFileDirectoryUtils>>#readStreamFor:in:do: calls FileDirectory>>#fileNamed:do: which in Squeak creates a FileStream on a new file (I believe)
I can craft a pull request if this seems reasonable.
Hi — tl;dr: MCFileTreeAbstractReader>>#hasMonticelloMetadata might be better with an #and: than an #or:
When a repo has a 'monticello.meta' directory, but there is no 'version' file in it, e.g. [1], FileTree will currently (incorrectly?) try reading from that non-existent file, which in Squeak 5.3 will leave behind a 0-length file in its place.
This seems to be because:
I can craft a pull request if this seems reasonable.
Tested on Squeak 5.3
[1] https://github.com/SeasideSt/Grease/tree/master/repository/BaselineOfGrease.package/monticello.meta