[PATCH v4 10/14] [GSOC] cat-file: add has_object_file() check
- From
ZheNing Hu via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Jun 22, 2021, 03:20 UTC
- Message-ID
- <6b577969734e9d69dbfbc6f0d523f64454dacab8.1624332055.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.980.v4.git.1624332054.gitgitgadget@gmail.com>
From: ZheNing Hu <adlternative@gmail.com>
Use `has_object_file()` in `batch_one_object()` to check whether the input object exists. This can help us reject the missing oid when we let `cat-file --batch` use ref-filter logic later.
Mentored-by: Christian Couder <christian.couder@gmail.com> Mentored-by: Hariom Verma <hariom18599@gmail.com> Signed-off-by: ZheNing Hu <adlternative@gmail.com> --- builtin/cat-file.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/builtin/cat-file.c b/builtin/cat-file.c index 5ebf13359e83..9fd3c04ff20b 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -428,6 +428,13 @@ static void batch_one_object(const char *obj_name, return; } + if (!has_object_file(&data->oid)) { + printf("%s missing\n", + obj_name ? obj_name : oid_to_hex(&data->oid)); + fflush(stdout); + return; + } + batch_object_write(obj_name, scratch, opt, data); }
-- gitgitgadget