Применяется ли git --reject/ -include use --verbose по умолчанию?
Я вижу
git apply --reject
git apply --include
всегда печатать полную информацию о том, какие файлы были рассмотрены и отклонены из переданного файла патча. Ну, это похоже --verbose
режим, используемый Git, когда --reject
вариант пройден.
Является --verbose
опция печати любой другой информации, которая не печатается, опцией --reject? Я не нашел соответствующих деталей в git-apply
документация тоже.
git apply --index change-89ded3243ea944156abb9d1c44173d998a4aed59..b3645cd3600b7d1c728c84333b48a20ce5c4eb29.patch
Done applying sandbox package.
git apply --reject change-89ded3243ea944156abb9d1c44173d998a4aed59..b3645cd3600b7d1c728c84333b48a20ce5c4eb29.patch
Checking patch support/gobuild/helpers/python.py...
Checking patch support/gobuild/helpers/target.py...
Checking patch support/gobuild/py/__init__.py...
Checking patch support/gobuild/py/autotools.py...
Checking patch support/gobuild/specs/cayman_pycrypto.py...
Checking patch support/gobuild/targets/cayman_pycrypto.py...
warning: support/gobuild/targets/cayman_pycrypto.py has type 100644, expected 100755
Applied patch support/gobuild/helpers/python.py cleanly.
Applied patch support/gobuild/helpers/target.py cleanly.
Applied patch support/gobuild/py/__init__.py cleanly.
Applied patch support/gobuild/py/autotools.py cleanly.
Applied patch support/gobuild/specs/cayman_pycrypto.py cleanly.
Applied patch support/gobuild/targets/cayman_pycrypto.py cleanly.
Done applying sandbox package.
1 ответ
--include
Параметр не влияет на уровни детализации: он просто говорит, что процесс исправления должен применять изменения к именованным файлам, что, конечно, подразумевает, что он не должен применять изменения к другим файлам. То есть патч может упоминать файлы this.txt
, that.py
, а также README
, Если вы говорите "включить изменения в this.txt
а также README
"Вы намекаете", пожалуйста , не вносите никаких изменений в that.py
".
--verbose
option на самом деле является счетчиком: используется один раз, он поднимает уровень многословия с нуля или "нормальный" до 1 или "многословный", и, если его использовать дважды, поднимает его выше этого. Однако здесь нет специальных действий для больших чисел (некоторые команды Git имеют несколько уровней многословия, например, git branch
имеет два). Существует специальный уровень минус 1, но вы не можете установить его самостоятельно (он используется автоматически, когда git am
применяет несколько патчей, с коммитами после каждого применения).
--reject
Опция автоматически повышает уровень детализации как минимум до 1. Следовательно, внутренне, последовательность опций:
git apply --verbose --reject
означает "установить уровень детализации на 1, а также установить режим отклонения", а:
git apply --reject --verbose
означает "установить уровень детализации на 2, а также установить режим отклонения".
Длинные опции формы longopt обычно позволяют использовать no-longopt
очистить их. (Есть некоторые исключения, но это не исключение.) Поэтому:
git apply --reject --no-verbose
включит режим отклонения при установке уровня детализации обратно на ноль ("нормальная" детализация: некоторые вещи все еще печатаются).