�� - a discussion about moving a smalltalkhub repository to git while
�� �� preserving history

I've migrated some time ago
http://forum.world.st/moving-to-git-and-preserving-monticello-history-td4806386.html

some (if not all) of the issues were resolved iirc, however since I didn't need to migrate since then I don't know the current status.

�� - a discussion about which process to follow in which conditions
�� �� (should I use GitFileTree or FileTree?)

Please note that GitFileTree didn't reliably work under Windows (problems with ProcessWrapper or something; crashing a lot), don't know the current status.

However from practical standpoint:
* with GitFileTree each MC commit inside Pharo creates a Git commit, so if you change X packages within a single repo, you get also X git commits
* with FileTree you could pack them together more tightly but you need to commit to git explicity.

but otherwise I don't see much practical difference��

- what happens if a Metacello description loads a project hosted in git
�� but I still want to be able to hack on this dependency. So, this
�� dependency should not be read-only for me

This is in my eyes very messy.... you could either add the package to a repository after you have loaded your project,
or lock local repos... but it's quite a pain to keep everything in sync... but I didn't have time to simplify my workflow here yet.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"GitFileTree"
Gofer new
configurationOf: 'GitFileTree';
loadDevelopment.

"Dependency 1"
Metacello new
baseline: 'Dependency1';
repository: 'gitfiletree:///home/wherever/dependency1/repository';
lock.

"Dependency 2"
Metacello new
baseline: 'Project2';
repository: 'gitfiletree:///home/wherever/project2/repository';
lock.
"My Project"
Metacello new
baseline: 'MyProject';
repository: 'gitfiletree:///home/wherever/myProject/repository';
onConflict: [ :ex | ex allow ];
load.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Peter