Iceberg does not handle branch checkout of a repo that stores its sources in a different folder, according to the branch that is used (I end up with empty packages !!!) #14016
Bug description
If I checkout branch on a repository loaded with Iceberg, if the source branch and the target branch have their sources in a different folder according to the branch that is used (e.g: at the root VS in an src folder), the image will not find the sources in the target branch (it will find the packages but not the classes inside it, for obscure reasons).
To Reproduce
Steps to reproduce the behavior:
In the world menu, choose Browse > Git Repositories Browser
Click on the add button (in the top-right hand-corner)
Clone a repository that has different branches that contain its sources in different folders. I use the example of Sindarin:
Open a Browser on the Sindarin packages, their classes are inside
In the Iceberg window, right-click on Sindarin then click on Checkout branch> origin > Pharo-11 > Ok > Checkout
Open another browser on the Sindarin packages. The packages are still there but their classes disappeared.
Expected behavior
My classes should not disappear!
I splitted sources and doc of my project into different folders, so that my users can see my documentation in P12 and I feel punished for that...
Screenshots
Version information:
OS: macOS Monterey
Version: 12.6
Pharo Version: 11 but probably happens in 12 and before
Additional context
Classes reappear in my packages if I perform "recalculate dirty packages". Still, this should not be necessary. I didn't know this feature existed and I'm pretty sure the users of my projects don't neither.
EDIT:
"recalculate dirty packages" worked once in an image but not in another image so it is even more problematic
Bug description If I checkout branch on a repository loaded with Iceberg, if the source branch and the target branch have their sources in a different folder according to the branch that is used (e.g: at the root VS in an
src
folder), the image will not find the sources in the target branch (it will find the packages but not the classes inside it, for obscure reasons).To Reproduce Steps to reproduce the behavior:
Browse > Git Repositories Browser
clone from github.com
pharo-spec
, Project name:ScriptableDebugger
Checkout branch
>origin
>Pharo-11
>Ok
>Checkout
Expected behavior My classes should not disappear!
I splitted sources and doc of my project into different folders, so that my users can see my documentation in P12 and I feel punished for that...
Screenshots
Version information:
Additional context Classes reappear in my packages if I perform "recalculate dirty packages". Still, this should not be necessary. I didn't know this feature existed and I'm pretty sure the users of my projects don't neither.
EDIT: "recalculate dirty packages" worked once in an image but not in another image so it is even more problematic