Re: [PATCH/RFC v2 15/16] update-index.c: add a force-rewrite option
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 6, 2012, 01:58 UTC
- Message-ID
- <7vfw80233w.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1344203353-2819-16-git-send-email-t.gummerer@gmail.com>
Thomas Gummerer <t.gummerer@gmail.com> writes:
Show 8 quoted lines
> Add a force-rewrite option to update-index, which allows the user > to rewrite the index, even if there are no changes. This can be used > to do performance tests of both the reader and the writer. > > Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com> > --- > builtin/update-index.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-)
I do not think this is wrong per-se, but is a new command that needs to be documented? If it is only for benchmarking and debugging, it might be sufficient to make "--index-version <n>" always rewrite the index.
Show 30 quoted lines
> diff --git a/builtin/update-index.c b/builtin/update-index.c
> index 4ce341c..7fedc8f 100644
> --- a/builtin/update-index.c
> +++ b/builtin/update-index.c
> @@ -24,6 +24,7 @@ static int allow_remove;
> static int allow_replace;
> static int info_only;
> static int force_remove;
> +static int force_rewrite;
> static int verbose;
> static int mark_valid_only;
> static int mark_skip_worktree_only;
> @@ -728,6 +729,8 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
> OPT_BIT(0, "unmerged", &refresh_args.flags,
> "refresh even if index contains unmerged entries",
> REFRESH_UNMERGED),
> + OPT_SET_INT(0, "force-rewrite", &force_rewrite,
> + "force a index rewrite even if there is no change", 1),
> {OPTION_CALLBACK, 0, "refresh", &refresh_args, NULL,
> "refresh stat information",
> PARSE_OPT_NOARG | PARSE_OPT_NONEG,
> @@ -886,7 +889,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
> strbuf_release(&buf);
> }
>
> - if (active_cache_changed) {
> + if (active_cache_changed || force_rewrite) {
> if (newfd < 0) {
> if (refresh_args.flags & REFRESH_QUIET)
> exit(128);