The file I have open right now is 1500 lines with probably 400 revisions across numerous branches. Many of those revisions are going to be integrates across branches. How is my IDE supposed to know which of those revisions are the ones that I care about? And more to the point, how is it supposed to do that _quickly_ ?
> The file I have open right now is 1500 lines with probably 400 revisions across numerous branches.
I have a 1500LOC files with 1100 revisions right here, "git annotate" processes it in 2.356 seconds on a 2010 MBP, and PyCharm barely takes any longer (maybe 3s).
> How is my IDE supposed to know which of those revisions are the ones that I care about?
It does not care, it gives you a baseline annotation and if that's too recent you drill down into previous annotations.
What happens when your version control dies? Of course it shouldn't happen, but we all know about Murphy's Law.
Or as I've encountered on multiple occasions: your IT team is struggling to figure out why your network/version control/etc are extremely slow... 3 second queries are now taking 60 seconds... we will be rebooting servers a few times... and restoring backups... hopefully things are working better tomorrow!
Or what happens when you migrate to another versioning system? Where I was working migrated from MS SourceSafe years ago and a lot of comment history was lost in the conversion and apparently it wasn't worth the time/money to figure out why only half the comments made it over.
I'm sure there are more scenarios.
The point is: comments in plain-text source files can be invaluable.