pharo-project / pharo

Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.
http://pharo.org
Other
1.19k stars 353 forks source link

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

Open adri09070 opened 1 year ago

adri09070 commented 1 year ago

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:

  1. In the world menu, choose Browse > Git Repositories Browser
  2. Click on the add button (in the top-right hand-corner)
  3. Clone a repository that has different branches that contain its sources in different folders. I use the example of Sindarin:
    • Click on clone from github.com
    • Owner name: pharo-spec, Project name: ScriptableDebugger
    • Click on OK
  4. Open a Browser on the Sindarin packages, their classes are inside
  5. In the Iceberg window, right-click on Sindarin then click on Checkout branch> origin > Pharo-11 > Ok > Checkout
  6. 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 image

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

jordanmontt commented 1 year ago

Maybe it will be better to put this issue on the iceberg repo?