Команда git add -p
- или, по крайней мере, была 1 - большой Perl скрипт. Чтобы просмотреть его, найдите каталог «core»:
git --exec-path
, который напечатает что-то вроде /usr/lib/git-core
или /usr/local/libexec/git-core
. Именно здесь живут различные Git внутренние двоичные файлы и сценарии.
В любом каталоге, в котором распечатывается, ищите git-add--interactive
. Это или был код git add -p
.
Эта Perl программа запускает команды Git diff и apply, и ее должно быть относительно легко изменить, чтобы она делала то, что вы хотели бы сделать. Обратите внимание, что это используется для всех git add -p
, git reset -p
и git checkout -p
, поэтому длина его почти 2000 строк.
Люди проекта Git находятся в середине Переписав все это, вы не сможете изменить его. :-) То есть, чтобы сделать запись написанной с C до go быстрой - у вас все еще будет исходный код, и вы все равно сможете изменять его так, как вам нравится, но как программа C она будет намного труднее работать.