pack-objects: fix --no-keep-true-parents

Since 99fb6e04cb (pack-objects: convert to use parse_options(),
2012-02-01) git pack-objects has accepted --no-keep-true-parents, but
this option does the same as --keep-true-parents.  That's because it's
defined using OPT_SET_INT with a value of 0, which sets 0 when negated
as well.

Turn --no-keep-true-parents into the opposite of --keep-true-parents by
using OPT_BOOL and storing the option's status directly in a variable
named "grafts_keep_true_parents" instead of in negative form in
"grafts_replace_parents".

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
René Scharfe 2023-07-21 14:41:56 +02:00 committed by Junio C Hamano
parent fb7d80edca
commit 3a5f308741
4 changed files with 5 additions and 5 deletions

View File

@ -4256,8 +4256,8 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
N_("ignore this pack")), N_("ignore this pack")),
OPT_INTEGER(0, "compression", &pack_compression_level, OPT_INTEGER(0, "compression", &pack_compression_level,
N_("pack compression level")), N_("pack compression level")),
OPT_SET_INT(0, "keep-true-parents", &grafts_replace_parents, OPT_BOOL(0, "keep-true-parents", &grafts_keep_true_parents,
N_("do not hide commits by grafts"), 0), N_("do not hide commits by grafts")),
OPT_BOOL(0, "use-bitmap-index", &use_bitmap_index, OPT_BOOL(0, "use-bitmap-index", &use_bitmap_index,
N_("use a bitmap index if available to speed up counting objects")), N_("use a bitmap index if available to speed up counting objects")),
OPT_SET_INT(0, "write-bitmap-index", &write_bitmap_index, OPT_SET_INT(0, "write-bitmap-index", &write_bitmap_index,

View File

@ -516,7 +516,7 @@ int parse_commit_buffer(struct repository *r, struct commit *item, const void *b
* The clone is shallow if nr_parent < 0, and we must * The clone is shallow if nr_parent < 0, and we must
* not traverse its real parents even when we unhide them. * not traverse its real parents even when we unhide them.
*/ */
if (graft && (graft->nr_parent < 0 || grafts_replace_parents)) if (graft && (graft->nr_parent < 0 || !grafts_keep_true_parents))
continue; continue;
new_parent = lookup_commit(r, &parent); new_parent = lookup_commit(r, &parent);
if (!new_parent) if (!new_parent)

View File

@ -75,7 +75,7 @@ enum push_default_type push_default = PUSH_DEFAULT_UNSPECIFIED;
#endif #endif
enum object_creation_mode object_creation_mode = OBJECT_CREATION_MODE; enum object_creation_mode object_creation_mode = OBJECT_CREATION_MODE;
char *notes_ref_name; char *notes_ref_name;
int grafts_replace_parents = 1; int grafts_keep_true_parents;
int core_apply_sparse_checkout; int core_apply_sparse_checkout;
int core_sparse_checkout_cone; int core_sparse_checkout_cone;
int sparse_expect_files_outside_of_patterns; int sparse_expect_files_outside_of_patterns;

View File

@ -194,7 +194,7 @@ extern enum object_creation_mode object_creation_mode;


extern char *notes_ref_name; extern char *notes_ref_name;


extern int grafts_replace_parents; extern int grafts_keep_true_parents;


extern int repository_format_precious_objects; extern int repository_format_precious_objects;
extern int repository_format_worktree_config; extern int repository_format_worktree_config;