Prevent --index-info from ignoring -z.
PATCH 1/1 Prevent --index-info from ignoring -z.
If git-update-index --index-info -z is used only the first record given to the process will actually be updated as the -z option is ignored until after all index records have been read and processed. This meant that multiple null terminated records were seen as a single record which was lacking a trailing LF, however since the first record ended in a null the C string handling functions ignored the trailing garbage. So --index-info should be required to be the last command line option, much as --stdin is required to be the last command line option. Because --index-info implies --stdin this isn't an issue as the user shouldn't be passing --stdin when also passing --index-info.
---
update-index.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
base eab8a06b5f0937ead199cbd35950a213486f34eb
last 77565623e6c7a02ead3d080816c761da85421781
update-index.c +3 -1
@@ -577,9 +577,11 @@ int main(int argc, const char **argv)break ; }if (!strcmp (path,"--index-info" )) { +if (i != argc -1 ) +die ("--index-info must be at the end" ); allow_add = allow_replace = allow_remove =1 ;read_index_info (line_termination); -continue ; +break ; }if (!strcmp (path,"--ignore-missing" )) { not_new =1 ;
Signature · 1 line
1.2.3.g5f0e