Re: [PATCH v2 05/18] fsck: Allow demoting errors to warnings via receive.fsck.warn = <key>
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 21, 2015, 08:54 UTC
- Message-ID
- <xmqqlhkwy0my.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <3fd56573b263f2a4551c9a363d1a44728573a1c6.1421682369.git.johannes.schindelin@gmx.de>
Johannes Schindelin <johannes.schindelin@gmx.de> writes:
Show 5 quoted lines
>
> + if (starts_with(var, "receive.fsck.")) {
> + if (fsck_severity.len)
> + strbuf_addch(&fsck_severity, ',');
> + strbuf_addf(&fsck_severity, "%s=%s", var + 13, value);Wouldn't it be safer to use skip_prefix() that lets you avoid the hardcoded "var + 13" here?
Show 29 quoted lines
> @@ -1470,8 +1478,13 @@ static const char *unpack(int err_fd, struct shallow_info *si)
> argv_array_pushl(&child.args, "unpack-objects", hdr_arg, NULL);
> if (quiet)
> argv_array_push(&child.args, "-q");
> - if (fsck_objects)
> - argv_array_push(&child.args, "--strict");
> + if (fsck_objects) {
> + if (fsck_severity.len)
> + argv_array_pushf(&child.args, "--strict=%s",
> + fsck_severity.buf);
> + else
> + argv_array_push(&child.args, "--strict");
> + }
> child.no_stdout = 1;
> child.err = err_fd;
> child.git_cmd = 1;
> @@ -1488,8 +1501,13 @@ static const char *unpack(int err_fd, struct shallow_info *si)
>
> argv_array_pushl(&child.args, "index-pack",
> "--stdin", hdr_arg, keep_arg, NULL);
> - if (fsck_objects)
> - argv_array_push(&child.args, "--strict");
> + if (fsck_objects) {
> + if (fsck_severity.len)
> + argv_array_pushf(&child.args, "--strict=%s",
> + fsck_severity.buf);
> + else
> + argv_array_push(&child.args, "--strict");
> + }Hmm. The above two hunks look suspiciously similar. Would it be worth to give them a single helper function?
Show 16 quoted lines
> diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c
> index 6d17040..82f2d62 100644
> --- a/builtin/unpack-objects.c
> +++ b/builtin/unpack-objects.c
> @@ -530,6 +530,11 @@ int cmd_unpack_objects(int argc, const char **argv, const char *prefix)
> strict = 1;
> continue;
> }
> + if (starts_with(arg, "--strict=")) {
> + strict = 1;
> + fsck_set_severity(&fsck_options, arg + 9);
> + continue;
> + }
> if (starts_with(arg, "--pack_header=")) {
> struct pack_header *hdr;
> char *c;