]> git.ipfire.org Git - thirdparty/git.git/commitdiff
pack-objects: fix --no-keep-true-parents
authorRené Scharfe <l.s.r@web.de>
Fri, 21 Jul 2023 12:41:56 +0000 (14:41 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 21 Jul 2023 17:02:59 +0000 (10:02 -0700)
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>
builtin/pack-objects.c
commit.c
environment.c
environment.h

index 9cfc8801f9bb9aea42aa2031a0bc3f6a8963d89b..193bb0b0dffd1fb71411020dab86417f691252cb 100644 (file)
@@ -4256,8 +4256,8 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
                                N_("ignore this pack")),
                OPT_INTEGER(0, "compression", &pack_compression_level,
                            N_("pack compression level")),
-               OPT_SET_INT(0, "keep-true-parents", &grafts_replace_parents,
-                           N_("do not hide commits by grafts"), 0),
+               OPT_BOOL(0, "keep-true-parents", &grafts_keep_true_parents,
+                        N_("do not hide commits by grafts")),
                OPT_BOOL(0, "use-bitmap-index", &use_bitmap_index,
                         N_("use a bitmap index if available to speed up counting objects")),
                OPT_SET_INT(0, "write-bitmap-index", &write_bitmap_index,
index 0fb9316931a9da64aa9441e5bb160b98e5656faf..2fbbf245767a4962c2b0c10d2959a65a95216186 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -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
                 * 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;
                new_parent = lookup_commit(r, &parent);
                if (!new_parent)
index 28d18eaca8ee0a1edd33f1faebae9f8c19fbba4c..fb113df8d0624ee2364dbe0ed6e633ba5a7eccba 100644 (file)
@@ -75,7 +75,7 @@ enum push_default_type push_default = PUSH_DEFAULT_UNSPECIFIED;
 #endif
 enum object_creation_mode object_creation_mode = OBJECT_CREATION_MODE;
 char *notes_ref_name;
-int grafts_replace_parents = 1;
+int grafts_keep_true_parents;
 int core_apply_sparse_checkout;
 int core_sparse_checkout_cone;
 int sparse_expect_files_outside_of_patterns;
index 30cb7e0fa34d35ef074167b2e7e012a887504c0c..96bc95bbebc17d6f710e5fa470b1cde6d7f720d4 100644 (file)
@@ -194,7 +194,7 @@ extern enum object_creation_mode object_creation_mode;
 
 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_worktree_config;