hpi-swa / Squot

Squeak Object Tracker - Version control for arbitrary objects, currently with Git storage
Other
58 stars 29 forks source link

Add support for Git v2 protocol #371

Open j4yk opened 2 years ago

j4yk commented 2 years ago

https://github.com/git/git/blob/v2.39.2/Documentation/gitprotocol-v2.txt

Among other things it allows to get a filtered list of refs from the server. This would allow for repositories with massive amounts of branches or tags, which in turn would allow for more "creative" uses of Git for Smalltalk. For example, tag each commit with a Monticello version name, have each package on its own branch to get per-package history, and overall create a more fitting Git storage backend for the Monticello versioning model (if desired). Since commercial Smalltalk version control systems like ENVY and Store tend to be more similar to Monticello than to "vanilla" Git, an approximation of those with a Git backend would also benefit from this approach.

Eventually (after a few years) this may be required to talk to certain services like GitHub. Hence tagged as mandatory.