]> granicus.if.org Git - git/commitdiff
Merge branch 'jn/unknown-index-extensions' into pu
authorJunio C Hamano <gitster@pobox.com>
Fri, 25 Oct 2019 06:10:18 +0000 (15:10 +0900)
committerJunio C Hamano <gitster@pobox.com>
Fri, 25 Oct 2019 06:10:18 +0000 (15:10 +0900)
A bit too alarming warning given when unknown index extensions
exist is getting revamped.

* jn/unknown-index-extensions:
  index: offer advice for unknown index extensions
  index: do not warn about unrecognized extensions

1  2 
advice.c
advice.h
read-cache.c

diff --cc advice.c
index 3ee0ee2d8fbb04dabcfc0152dc741c7d1f28b220,91a55046fdeb3b76a31de9cde61b35e937fa7e4b..bd4d7d00a625a9a7a682d689456ea42adaba3e2f
+++ b/advice.c
@@@ -28,8 -24,8 +28,9 @@@ int advice_add_embedded_repo = 1
  int advice_ignored_hook = 1;
  int advice_waiting_for_editor = 1;
  int advice_graft_file_deprecated = 1;
+ int advice_unknown_index_extension = 1;
  int advice_checkout_ambiguous_remote_branch_name = 1;
 +int advice_nested_tag = 1;
  
  static int advice_use_color = -1;
  static char advice_colors[][COLOR_MAXLEN] = {
@@@ -87,8 -79,8 +88,9 @@@ static struct 
        { "ignoredHook", &advice_ignored_hook },
        { "waitingForEditor", &advice_waiting_for_editor },
        { "graftFileDeprecated", &advice_graft_file_deprecated },
+       { "unknownIndexExtension", &advice_unknown_index_extension },
        { "checkoutAmbiguousRemoteBranchName", &advice_checkout_ambiguous_remote_branch_name },
 +      { "nestedTag", &advice_nested_tag },
  
        /* make this an alias for backward compatibility */
        { "pushNonFastForward", &advice_push_update_rejected }
diff --cc advice.h
index d0154048431c773b9bf0ec450478a93d5ede06c0,8da0845cfc86e268f17bbe6187f317b2a440f252..62dc0d02329c90d173cde2fcf6c1ec5026d66361
+++ b/advice.h
@@@ -28,8 -24,8 +28,9 @@@ extern int advice_add_embedded_repo
  extern int advice_ignored_hook;
  extern int advice_waiting_for_editor;
  extern int advice_graft_file_deprecated;
+ extern int advice_unknown_index_extension;
  extern int advice_checkout_ambiguous_remote_branch_name;
 +extern int advice_nested_tag;
  
  int git_default_advice_config(const char *var, const char *value);
  __attribute__((format (printf, 1, 2)))
diff --cc read-cache.c
index 133f790fa4cd52e503da5ae6be3f78389f7674b7,d1d903e5a127b2f66bd651fca0f4886d8353d5c8..d5c67b88f155bcd14511292743e7c66597268cb7
@@@ -1740,9 -1724,20 +1740,19 @@@ static int read_index_extension(struct 
                break;
        default:
                if (*ext < 'A' || 'Z' < *ext)
 -                      return error("index uses %.4s extension, which we do not understand",
 +                      return error(_("index uses %.4s extension, which we do not understand"),
                                     ext);
-               fprintf_ln(stderr, _("ignoring %.4s extension"), ext);
 -              trace_printf("ignoring %.4s extension\n", ext);
+               if (advice_unknown_index_extension) {
+                       warning(_("ignoring optional %.4s index extension"), ext);
+                       advise(_("This is likely due to the file having been written by a newer\n"
+                                "version of Git than is reading it. You can upgrade Git to\n"
+                                "take advantage of performance improvements from the updated\n"
+                                "file format.\n"
+                                "\n"
+                                "Run \"%s\"\n"
+                                "to suppress this message."),
+                              "git config advice.unknownIndexExtension false");
+               }
                break;
        }
        return 0;