4 ms·
> You can not, for example, implement a distributed counter in git that works by committing changes to a file that add a line with a number in it. If two git in
by btrask 11y ago
> You can not, for example, implement a distributed counter in git that works by committing changes to a file that add a line with a number in it. If two git instances commit adding the same number based on the same parents at the same time with the same authorship information [...], the merge result might not reflect all counter increment operations that happened.
Yes. That's why content has to be defined at the application level, based on what the application is trying to accomplish. If absolutely every message is logically unique, then under a content addressing system each message needs to include some random data, which will result in random hashes equivalent to UUIDs. That is the worst case scenario for content addressing.
Even so, it's still "as good or better" (aside from performance concerns, which I don't mean to dismiss).