If you want the magic explained, here’s a start: https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch
If you want the magic explained, here’s a start: https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch
Well, what problems are you trying to solve by having the classes all access each other’s data members? Why is that necessary?
Cookies required for the website to work (like that one) are totally fine and, in fact, they don’t even have to ask you about them - if they’re not used for tracking. So no, asking each time is definitely avoidable.
I’ve never used Mercurial, but a simple one based on the explanations and my experience with Git:
Locating the branch a commit originated from. If a git branch has been merged into (or rebased on) main or another branch, there’s no way to tell which commit came from which branch. But sometimes I’d really like that information to figure out what prompted a certain change. Without it, I need to use external tools like a ticketing system and hope the other developers added in the necessary information.