diff options
author | Jonathan Tan <jonathantanmy@google.com> | 2018-03-14 18:42:41 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-03-15 17:16:27 (GMT) |
commit | 98a2ea46c2dedf45b5a94335462547a5d78a68e2 (patch) | |
tree | b0ed21e4ed7c27239fbc513dd0d969cffa699805 /fetch-pack.c | |
parent | ffb2c0fe5c2dbfe2be0a4743ffed622295e1124c (diff) | |
download | git-98a2ea46c2dedf45b5a94335462547a5d78a68e2.zip git-98a2ea46c2dedf45b5a94335462547a5d78a68e2.tar.gz git-98a2ea46c2dedf45b5a94335462547a5d78a68e2.tar.bz2 |
fetch-pack: do not check links for partial fetch
When doing a partial clone or fetch with transfer.fsckobjects=1, use the
--fsck-objects instead of the --strict flag when invoking index-pack so
that links are not checked, only objects. This is because incomplete
links are expected when doing a partial clone or fetch.
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'fetch-pack.c')
-rw-r--r-- | fetch-pack.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/fetch-pack.c b/fetch-pack.c index d974612..1d61175 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -886,8 +886,17 @@ static int get_pack(struct fetch_pack_args *args, ? fetch_fsck_objects : transfer_fsck_objects >= 0 ? transfer_fsck_objects - : 0) - argv_array_push(&cmd.args, "--strict"); + : 0) { + if (args->from_promisor) + /* + * We cannot use --strict in index-pack because it + * checks both broken objects and links, but we only + * want to check for broken objects. + */ + argv_array_push(&cmd.args, "--fsck-objects"); + else + argv_array_push(&cmd.args, "--strict"); + } cmd.in = demux.out; cmd.git_cmd = 1; |