[Squeak] MCGitHubRepository >> #versionNamed:
raises various errors from DosFileDirectory
#543
Labels
MCGitHubRepository >> #versionNamed:
raises various errors from DosFileDirectory
#543
Steps to reproduce:
Expected output:
nil
, as the method comment inMCRepository >> #versionNamed:
states:Actual behavior:
MessageNotUnderstood: DosFileDirectory>>resolveString:
fromTonelFileSystemUtils class>>directoryFromPath:relativeTo:
. It might be worth noting that in[] in MCGitHubRepository(MCFileBasedRepository)>>versionReaderForFileNamed:do:
,s
is a subinstance ofFileDirectory
(from theFiles
package, notsqueak-filesystem
).Expected output:
nil
, for the same reason as above.Actual behavior:
DosFileDirectory(Object)>>errorNotIndexable
. Like above, in[] in MCGitHubRepository(MCFileBasedRepository)>>versionReaderForFileNamed:do:
,s
is a subinstance ofFileDirectory
soMCMczReader>>zip
fails to read aZipArchive
from that directory.Maybe a bit of background: The provision of
MCRepository >> #versonNamed:
not to raise an error but tonil
is actually important because various senders, includingMCRepositoryGroup >> #versionNamed:
depend on this functionality in order to search for a version which's location is unknown. Since there is still a large number of senders to theMCRepositoryGroup default
, a single violation of this rule like this one is enough to break the entire version search.I'm not familiar at all with this domain but it would great if we could add a simple type check to avoid this error and maybe signal a
FileDoesNotExistException
somewhere in#loadVersionFromFileNamed:
or below. Unfortunately, I did not find any valid usage examples of anyMCFileTreeRepository
subclass in combination withFileDirectory
so I don't know where the invalidation begins. Maybe all these github repository instances should not be part of the default repository group at all?Looking forward to your help!
The text was updated successfully, but these errors were encountered: