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