|
|
|
|
|
by aidenn0
557 days ago
|
|
> It should be obvious that I love SCCS, it's a dramatically
better file format than a patch based one, you can get any version of
the file in constant time, authorship can be preserved across versions,
it's pretty brilliant and I consider myself blessed to be posting this
in response to SCCS's creator. I have seen Larry make similar claims about the weave format vs. patch-based format many times, and he has also put git firmly in the "patch-based" camp, but I believe the only real effect to git not using a weave is increased time-complexity of "blame" operations. 1. Git has constant time access any version of a file as well; the --depth option to the pack algorithm places a constant (but configurable) upper bound on the number of deltas that will need to be applied whenever fetching a blob. Intuitively, it would seem to me that for files with extremely large numbers of changes, this could be faster than extracting the weave, potentially at reduced space efficiency. 2. Merges are separate from the commits that effect the change; the lm/clem example in TFA would work as expected on git. Merge commits will only show up in the annotation if there were conflicts. |
|