So at a minimum I end up with git several branches that are tagged with a specific version.
But if I'm like most open source libraries, I end up using other libraries that also have the same versioning challenges (backwards breaks, security patches)... So now I need to point my code at their specific branches.
And at this point, you basically have packaging, except you're scouring the internet on every build loading everyone's dependencies... /5