dalley: cargo hard resets the index when fetching so there's no worry about rewriting git history
elichai2 has quit
that's true, but it also means that w/ every publish, all the clients would have to do a hard re-clone
which is workable.. but somewhat unoptimal
I just cloned the index to see how fast it would be, it took about 35-45 seconds
so what protocol do you want to use instead to transfer a minimal diff of index changes?
Tomo joined the channel
ideally, we'd figure out diffs at a crate level
fwiw, I don't have any constructive feedback on that subject. I'm sure it's a technically good choice, it just makes the job of our software much more difficult vs other content types (rpm, deb, rubygem, python, docker, etc)
Eragonfr has quit
Nexus and Artifactory both use a database to keep track of metadata and a blob store to serve the content. Querying about versions is fairly straightforward. Generating diffs at a filesystem level requires constructing that representation first.
same for Pulp
balrogboogie joined the channel
but obviously you can't just rebuild the original git repo from the DB representation of the metadata