One is the history of the code itself—with every line annotated, showing every time it was changed, why it was changed, when it was changed, what the purpose of the change was, what specifications documents detail the change. Everything that happens to the program is recorded in its master history. The genealogy of every line of code—the reason it is the way it is—is instantly available to everyone.
This sounds impressive (and it is!) but implies that this sort of tooling is limited to NASA developers. It’s not. Every halfway decent web startup, and every halfway sane lone coder has access to the same capabilities.
Also I don’t think git is line by line, it is revision version by revision version.
NASA must have a tool that requires each line-change be committed separately with a comment supplied. Perhaps even a multifield comment with requirement that none be blank, and audit of who made each comment so review of changes quickly points out people who are not reasonably populating the fields.
Subversion has the same feature(s) as well. On the other hand, NASA was doing this quite some time ago, so they at least get points for being ahead of the curve and setting a useful trend for others to follow :)
This sounds impressive (and it is!) but implies that this sort of tooling is limited to NASA developers. It’s not. Every halfway decent web startup, and every halfway sane lone coder has access to the same capabilities.
Git)
Git keeps a branching history of changes, but it takes humans and a policy to keep records of the reasons for changes.
Also I don’t think git is line by line, it is revision version by revision version.
NASA must have a tool that requires each line-change be committed separately with a comment supplied. Perhaps even a multifield comment with requirement that none be blank, and audit of who made each comment so review of changes quickly points out people who are not reasonably populating the fields.
I’m guessing.
‘git blame’ will still tell you, line-by-line, which revision introduced a change.
Yes but the point is you don’t supply a comment for each line that is changed.
Subversion has the same feature(s) as well. On the other hand, NASA was doing this quite some time ago, so they at least get points for being ahead of the curve and setting a useful trend for others to follow :)