summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c7569b1)
raw | patch | inline | side by side (parent: c7569b1)
author | Shawn Pearce <spearce@spearce.org> | |
Thu, 2 Mar 2006 17:21:33 +0000 (12:21 -0500) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Fri, 3 Mar 2006 07:07:42 +0000 (23:07 -0800) |
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.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
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.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
update-index.c | patch | blob | history |
diff --git a/update-index.c b/update-index.c
index ce1db38d16928d8b5085cb6e177f40fff9a978cf..797245ab276543edc5d7605b57f5175278436234 100644 (file)
--- a/update-index.c
+++ b/update-index.c
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;