4 ms·
Just point him to the source code to fully grasp the implementation details.
by stcroixx 3y ago
Just point him to the source code to fully grasp the implementation details.
- mikewarot 3y agoThe better your model of how it works, the easier it is to fix things when they fail, no matter the cause. Knowing that GIT doesn't store deltas explains some of the things that made absolutely no sense before that point. You don't want to just tell a programmer... oh... here are some magic spells, don't worry about how they work, or how to fix it if you make a mistake. Tell them you don't expect them to remember all the details. It should only take 10-20 minutes to get them up to speed.
- mcdonje 3y agoIf a repo has been repacked, that turns it into actual deltas. ctrl-f "git" on this page: https://en.m.wikipedia.org/wiki/Delta_encoding https://en.m.wikipedia.org/wiki/Delta_encoding I value good mental models. What behavior did the difference between fake and real deltas explain?
- mikewarot 3y ago>What behavior did the difference between fake and real deltas explain? Merges... fscking merges. Merge conflicts are completely unnecessary. Who cares about the delta from the last snapshot?, just store the new snapshot! I've wasted so much time on "merge conflicts" even when I'm the only person, and I've got multiple computers involved. I've completely deleted git repos and rebuilt them to get around the insanity of merges gone bad. (Now I know it's different when you've got multiple programmers, etc... but in the base case, the wrong mental model deranges thinking) The days of pkZIP files of source code on floppy disks NEVER included merge conflicts. GIT is an otherwise amazing upgrade from those days. Sometimes the IDE or other tools mung a file that you don't edit by hand, but need in the archive, and you CAN'T merge it.
- mcdonje 3y agoGotcha. Sounds like a painful lesson. Thank you.