Поскольку git update-index --add --cachinfo
важно для добавления файла в индекс, обратите внимание, что cacheinfo имеет новый синтаксис:
--cacheinfo <mode>,<object>,<path>
--cacheinfo <mode> <object> <path>
Непосредственно вставьте указанную информацию вindex.
Для обратной совместимости вы также можете задать эти три аргумента как три отдельных параметра, но новым пользователям рекомендуется использовать форму с одним параметром .
См. commit ec160ae от Junio C Hamano (gitster
) , март 2014, часть Git 2.0 +:
update-index
: учить --cacheinfo
новый синтаксис "mode,sha1,path
"
Параметр "--cacheinfo
" необычен тем, что принимает три параметра параметра.
Параметр с дополнительным параметром является достаточно плохим.
Параметр снесколько параметров просто безумие.
Вводит новый синтаксис, который объединяет эти три вещи вместе с запятой, что делает синтаксис командной строки более единообразным по подкомандам, сохраняя при этом традиционный синтаксис для обратной совместимости.
Примечание: только Git 2.0.X / 2.1 (3 квартал 2014 года) заботится о NULL-случае:
См. commit c8e1ee4 Джефф Кинг (peff
) :
Выполнение «git update-index --cacheinfo
» без каких-либо дополнительных аргументов приводит к segfault, а не к сообщению об ошибке. Commit ec160ae (update-index: обучить --cacheinfo
новому синтаксису "mode,sha1,path
", 2014-03-23) добавил код для проверки формата аргумента, но забыл обработать случай NULL.
Достаточно вернуть ошибку из синтаксического анализатора, поскольку мы затем обрабатываем ее как "--cacheinfo <mode> <sha1> <path>
" старого стиля и жалуемся, что у нас есть менее 3 аргументов для чтения.