Вероятно, потому, что объединить патчи с бесполезными пробелами сложнее, чем должно быть.
diff(1)
и patch(1)
рассматривают пробелы и табуляции как важный контент. (Спросите любой Makefile
или .py
исходный файл - они важны !) И если ваша"пустая строка" содержит четыре пробела и my"пустая строка" содержит восемь пробелов, любая попытка поделиться патчами между нами потерпит неудачу по очень тривиальным причинам.
Конечно, если вы измените отступ блока кода оптом, вам придется пойти на какую-то работу, чтобы сделать патчи в любом случае . Но попытка отследить ошибки слияния в строках, которые выглядят пустыми, болезненна . (Я потратил слишком много своей жизни на это. Да, vim
listchars
может помочь, но чтение кода с listchars
все время также раздражает.)
Так что люди стандартизируются на без пробелов . Возможно, не имеет смысла беспокоиться о дюжине потерянных байтов здесь или там с точки зрения хранения, но на самом деле облегчает объединение патчей. Вероятно, мы могли бы точно так же стандартизировать добавление конечных пробелов, как вы и предлагали, и быть столь же счастливыми, но мы могли бы также стандартизировать подход, который является настолько экономичным, насколько это возможно.