git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 0/4] you-still-use-that??: improve breaking changes troubleshooting

From
Kkristofferhaugsbakk@fastmail.com <kristofferhaugsbakk@fastmail.com>
Date
Aug 29, 2025, 15:21 UTC
Message-ID
<cover.1756480827.git.code@khaugsbakk.name>
In-Reply-To
<cover.1756311355.git.code@khaugsbakk.name>
From: Kristoffer Haugsbakk <code@khaugsbakk.name>

Based on the recent i-still-use-that reports about whatchanged, improve the error reporting with this command in mind:

1. Give more possible actions instead of just (only) asking them to send
   an email
2. Hint how to replace their git-whatchanged(1) use with git-log(1)
3. Minor documentation changes

Also:[1] an alternative to linking to www.git-scm.com (in patch 1/4) is to move this document to a regular installed man page:

    gitbreaking-changes(7)
[1]: Not mentioned on the v1 cover letter
§ What the errors now look like
    $ ./git pack-redundant
    'git pack-redundant' is nominated for removal.
    If you still use this command, here's what you can do:
    - read https://git-scm.com/docs/BreakingChanges.html
    - check if anyone has discussed this on the mailing
      list and if they came up with something that can
      help you: https://lore.kernel.org/git/?q=git%20pack-redundant
    - send an email to <git@vger.kernel.org> to let us
      know that you still use this command and were unable
      to determine a suitable replacement
    fatal: refusing to run without --i-still-use-this
    $ ./git whatchanged
    'git whatchanged' is nominated for removal.
    hint: You can replace 'git whatchanged <opts>' with:
        git log <opts> --raw --no-merges
    If you still use this command, here's what you can do:
    - read https://git-scm.com/docs/BreakingChanges.html
    - check if anyone has discussed this on the mailing
      list and if they came up with something that can
      help you: https://lore.kernel.org/git/?q=git%20whatchanged
    - send an email to <git@vger.kernel.org> to let us
      know that you still use this command and were unable
      to determine a suitable replacement
    fatal: refusing to run without --i-still-use-this
§ Changes in v2
These are also posted on the patches.
• Patch 1/4:
  • Change send-an-email bullet point
  • Change the area
  • Use www.git-scm.com, not simply git-scm
• Patch 2/4:
  • Fix whitespace error (I should have used `ci/check-whitespace.sh
    v2.51.0`)
  • Add missing colon (:) to footnote
  • Expand on footnote; a sentence is enough to summarize the difference
Kristoffer Haugsbakk (4):
  you-still-use-that??: help the user help themselves
  whatchanged: tell users the git-log(1) equivalent
  whatchanged: remove not-even-shorter clause
  BreakingChanges: remove claim about whatchanged reports
 Documentation/BreakingChanges.adoc |  2 +-
 Documentation/git-whatchanged.adoc |  8 ++++++--
 builtin/log.c                      |  6 +++++-
 builtin/pack-redundant.c           |  2 +-
 git-compat-util.h                  |  2 +-
 usage.c                            | 33 +++++++++++++++++++++++-------
 6 files changed, 40 insertions(+), 13 deletions(-)
Interdiff against v1:
diff --git a/builtin/log.c b/builtin/log.c
index 2f9e5e5a898..5dbb90c014d 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -542,7 +542,7 @@ int cmd_whatchanged(int argc,
 	opt.revarg_opt = REVARG_COMMITTISH;
 	cmd_log_init(argc, argv, prefix, &rev, &opt, &cfg);
 
-        if (!cfg.i_still_use_this)
+	if (!cfg.i_still_use_this)
 		you_still_use_that("git whatchanged",
 				   _("\n"
 				     "hint: You can replace 'git whatchanged <opts>' with:\n"
diff --git a/usage.c b/usage.c
index c661561b149..7545a616453 100644
--- a/usage.c
+++ b/usage.c
@@ -397,7 +397,9 @@ NORETURN void you_still_use_that(const char *command_name, const char *hint)
 		  "- check if anyone has discussed this on the mailing\n"
 		  "  list and if they came up with something that can\n"
 		  "  help you: https://lore.kernel.org/git/?q=%s\n"
-		  "- send an email to <git@vger.kernel.org>\n"
+		  "- send an email to <git@vger.kernel.org> to let us\n"
+		  "  know that you still use this command and were unable\n"
+		  "  to determine a suitable replacement\n"
 		  "\n"),
 		percent_encoded.buf);
 	strbuf_release(&percent_encoded);
Range-diff against v1:
1:  e81023edb2d ! 1:  6803e2cc6c3 usage: help the user help themselves
    @@ Metadata
     Author: Kristoffer Haugsbakk <code@khaugsbakk.name>
     
      ## Commit message ##
    -    usage: help the user help themselves
    +    you-still-use-that??: help the user help themselves
     
         Give the user a list of suggestions for what to do when they run a
         deprecated command.
    @@ Commit message
     
         Also drop “Thanks” since it now would require a new paragraph.
     
    -    [1]: git-scm has a disclaimer for these internal documents that says
    -        that “This information is specific to the Git project”.  That’s
    +    [1]: www.git-scm.com has a disclaimer for these internal documents that
    +        says that “This information is specific to the Git project”.  That’s
             misleading in this particular case.  But users are unlikely to get
    -        discouraged from reading about why they (or their programs) cannot
    -        run a command any more; it clearly concerns them.
    +        discouraged from reading about why they (or their programs) cannot run a
    +        command any more; it clearly concerns them.
     
    +    Helped-by: Eric Sunshine <sunshine@sunshineco.com>
         Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>
     
     
      ## Notes (series) ##
    -    An alternative to linking to git-scm is to move this document to a
    -    regular installed man page:
    +    v2:
    +
    +    I had second thoughts about the bullet point about send-an-email.
    +    Change it to the one Eric Sunshine proposed;[1] make sure to spell
    +    out that you can send an email conditioned on not finding a suitable
    +    replacement.
    +
    +    Also change the area to something more pointed.
    +
    +    And also use a clear URL to refer to www.git-scm.com.
    +
    +    [1]: https://lore.kernel.org/git/CAPig+cQkVP57n_FE6dJ0uxvai-J7usxKFp8gzfEbPY=Ytsd6=Q@mail.gmail.com/
    +
    +    • Change send-an-email bullet point
    +    • Change the area
    +    • Use www.git-scm.com, not simply git-scm
    +
    +    v1:
    +
    +    An alternative to linking to www.git-scm.com is to move this document to
    +    a regular installed man page:
     
             gitbreaking-changes(7)
     
    @@ usage.c: void bug_fl(const char *file, int line, const char *fmt, ...)
     +		  "- check if anyone has discussed this on the mailing\n"
     +		  "  list and if they came up with something that can\n"
     +		  "  help you: https://lore.kernel.org/git/?q=%s\n"
    -+		  "- send an email to <git@vger.kernel.org>\n"
    ++		  "- send an email to <git@vger.kernel.org> to let us\n"
    ++		  "  know that you still use this command and were unable\n"
    ++		  "  to determine a suitable replacement\n"
     +		  "\n"),
     +		command_name, percent_encoded.buf);
     +	strbuf_release(&percent_encoded);
2:  5407c0955af ! 2:  2f3ac952980 whatchanged: tell users the git-log(1) equivalent
    @@ Commit message
             • https://lore.kernel.org/git/1011073f-9930-4360-a42f-71eb7421fe3f@chrispalmer.uk/#t
             • https://lore.kernel.org/git/9fcbfcc4-79f9-421f-b9a4-dc455f7db485@acm.org/#t
             • https://lore.kernel.org/git/83241BDE-1E0D-489A-9181-C608E9FCC17B@gmail.com/
    -    [2] The error message on 2.51.0 does tell them to report it, unconditionally
    -    [3]: https://lore.kernel.org/git/20250825085428.GA367101@coredump.intra.peff.net/
    +    [2]: The error message on 2.51.0 does tell them to report it, unconditionally
    +    [3]: You only get different outputs if you happen to have empty
    +         commits (no changes)[4]
    +    [4]: https://lore.kernel.org/git/20250825085428.GA367101@coredump.intra.peff.net/
     
         Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>
     
    +
    + ## Notes (series) ##
    +    v2:
    +
    +    Review found a whitespace error in the prev. patch version.  I found a
    +    broken footnote and wanted to expand on the last footnote.
    +
    +    • Fix whitespace error (I should have used `ci/check-whitespace.sh
    +      v2.51.0`)
    +    • Add missing colon (:) to footnote
    +    • Expand on footnote; a sentence is enough to summarize the difference
    +
      ## Documentation/git-whatchanged.adoc ##
     @@ Documentation/git-whatchanged.adoc: Shows commit logs and diff output each commit introduces.
      
    @@ Documentation/git-whatchanged.adoc: Shows commit logs and diff output each commi
     
      ## builtin/log.c ##
     @@ builtin/log.c: int cmd_whatchanged(int argc,
    - 	opt.revarg_opt = REVARG_COMMITTISH;
      	cmd_log_init(argc, argv, prefix, &rev, &opt, &cfg);
      
    --	if (!cfg.i_still_use_this)
    + 	if (!cfg.i_still_use_this)
     -		you_still_use_that("git whatchanged");
    -+        if (!cfg.i_still_use_this)
     +		you_still_use_that("git whatchanged",
     +				   _("\n"
     +				     "hint: You can replace 'git whatchanged <opts>' with:\n"
    @@ usage.c: NORETURN void you_still_use_that(const char *command_name)
      		  "- read https://git-scm.com/docs/BreakingChanges.html\n"
      		  "- check if anyone has discussed this on the mailing\n"
     @@ usage.c: NORETURN void you_still_use_that(const char *command_name)
    - 		  "  help you: https://lore.kernel.org/git/?q=%s\n"
    - 		  "- send an email to <git@vger.kernel.org>\n"
    + 		  "  know that you still use this command and were unable\n"
    + 		  "  to determine a suitable replacement\n"
      		  "\n"),
     -		command_name, percent_encoded.buf);
     +		percent_encoded.buf);
3:  5fad164d7d1 = 3:  a074e7be422 whatchanged: remove not-even-shorter clause
4:  f1bf0ea3846 = 4:  9196c3c7e33 BreakingChanges: remove claim about whatchanged reports

base-commit: c44beea485f0f2feaf460e2ac87fdd5608d63cf0
-- 
2.51.0.16.gcd94ab5bf81
Previous: Junio C HamanoNext: kristofferhaugsbakk@fastmail.com
Message 28 of 102 in “you-still-use-that??: improve breaking changes troubleshooting”
  1. 0/4 you-still-use-that??: improve breaking changes troubleshootingkristofferhaugsbakk@fastmail.com, Aug 27, 2025
  2. 1/4 usage: help the user help themselveskristofferhaugsbakk@fastmail.com, Aug 27, 2025
  3. Kristoffer HaugsbakkAug 27, 2025
  4. Eric SunshineAug 27, 2025
  5. Junio C HamanoAug 27, 2025
  6. Eric SunshineAug 27, 2025
  7. Junio C HamanoAug 27, 2025
  8. Kristoffer HaugsbakkAug 28, 2025
  9. Junio C HamanoAug 28, 2025
  10. Eric SunshineSep 3, 2025
  11. Kristoffer HaugsbakkSep 3, 2025
  12. Eric SunshineSep 3, 2025
  13. Kristoffer HaugsbakkSep 3, 2025
  14. Jeff KingSep 3, 2025
  15. Eric SunshineSep 3, 2025
  16. Kristoffer HaugsbakkSep 4, 2025
  17. Jeff KingSep 5, 2025
  18. Kristoffer HaugsbakkSep 9, 2025
  19. Junio C HamanoAug 27, 2025
  20. 2/4 whatchanged: tell users the git-log(1) equivalentkristofferhaugsbakk@fastmail.com, Aug 27, 2025
  21. Junio C HamanoAug 27, 2025
  22. Junio C HamanoAug 27, 2025
  23. Kristoffer HaugsbakkAug 27, 2025
  24. Kristoffer HaugsbakkAug 28, 2025
  25. 3/4 whatchanged: remove not-even-shorter clausekristofferhaugsbakk@fastmail.com, Aug 27, 2025
  26. 4/4 BreakingChanges: remove claim about whatchanged reportskristofferhaugsbakk@fastmail.com, Aug 27, 2025
  27. Junio C HamanoAug 27, 2025
  28. 0/4 you-still-use-that??: improve breaking changes troubleshootingkristofferhaugsbakk@fastmail.com, Aug 29, 2025
  29. 1/4 you-still-use-that??: help the user help themselveskristofferhaugsbakk@fastmail.com, Aug 29, 2025
  30. 2/4 whatchanged: tell users the git-log(1) equivalentkristofferhaugsbakk@fastmail.com, Aug 29, 2025
  31. 3/4 whatchanged: remove not-even-shorter clausekristofferhaugsbakk@fastmail.com, Aug 29, 2025
  32. 4/4 BreakingChanges: remove claim about whatchanged reportskristofferhaugsbakk@fastmail.com, Aug 29, 2025
  33. 0/8 you-still-use-that??: improve breaking changes troubleshootingkristofferhaugsbakk@fastmail.com, Sep 8, 2025
  34. 1/8 git: add `deprecated` category to --list-cmdskristofferhaugsbakk@fastmail.com, Sep 8, 2025
  35. Patrick SteinhardtSep 9, 2025
  36. Kristoffer HaugsbakkSep 9, 2025
  37. 2/8 git: make the two loops look more symmetrickristofferhaugsbakk@fastmail.com, Sep 8, 2025
  38. 3/8 git: allow alias-shadowing deprecated builtinskristofferhaugsbakk@fastmail.com, Sep 8, 2025
  39. Junio C HamanoSep 8, 2025
  40. Jeff KingSep 8, 2025
  41. Junio C HamanoSep 8, 2025
  42. Kristoffer HaugsbakkSep 9, 2025
  43. 4/8 t0014: test shadowing of aliases for a sample of builtinskristofferhaugsbakk@fastmail.com, Sep 8, 2025
  44. 5/8 you-still-use-that??: help the user help themselveskristofferhaugsbakk@fastmail.com, Sep 8, 2025
  45. 6/8 whatchanged: tell users the git-log(1) equivalentkristofferhaugsbakk@fastmail.com, Sep 8, 2025
  46. 7/8 whatchanged: remove not-even-shorter clausekristofferhaugsbakk@fastmail.com, Sep 8, 2025
  47. 8/8 BreakingChanges: remove claim about whatchanged reportskristofferhaugsbakk@fastmail.com, Sep 8, 2025
  48. 0/7 you-still-use-that??: improve breaking changes troubleshootingkristofferhaugsbakk@fastmail.com, Sep 9, 2025
  49. 1/7 git: add `deprecated` category to --list-cmdskristofferhaugsbakk@fastmail.com, Sep 9, 2025
  50. Junio C HamanoSep 9, 2025
  51. Patrick SteinhardtSep 10, 2025
  52. Jeff KingSep 10, 2025
  53. Junio C HamanoSep 10, 2025
  54. Kristoffer HaugsbakkSep 10, 2025
  55. 2/7 git: allow alias-shadowing deprecated builtinskristofferhaugsbakk@fastmail.com, Sep 9, 2025
  56. Jeff KingSep 10, 2025
  57. Jeff KingSep 10, 2025
  58. Kristoffer HaugsbakkSep 10, 2025
  59. Jeff KingSep 10, 2025
  60. Kristoffer HaugsbakkSep 11, 2025
  61. Jeff KingSep 11, 2025
  62. Jeff KingSep 11, 2025
  63. Kristoffer HaugsbakkSep 13, 2025
  64. Jeff KingSep 13, 2025
  65. Kristoffer HaugsbakkSep 14, 2025
  66. Jeff KingSep 15, 2025
  67. Kristoffer HaugsbakkSep 15, 2025
  68. Jeff KingSep 11, 2025
  69. Junio C HamanoSep 11, 2025
  70. Kristoffer HaugsbakkSep 13, 2025
  71. 3/7 t0014: test shadowing of aliases for a sample of builtinskristofferhaugsbakk@fastmail.com, Sep 9, 2025
  72. 4/7 you-still-use-that??: help the user help themselveskristofferhaugsbakk@fastmail.com, Sep 9, 2025
  73. 5/7 whatchanged: tell users the git-log(1) equivalentkristofferhaugsbakk@fastmail.com, Sep 9, 2025
  74. 6/7 whatchanged: remove not-even-shorter clausekristofferhaugsbakk@fastmail.com, Sep 9, 2025
  75. 7/7 BreakingChanges: remove claim about whatchanged reportskristofferhaugsbakk@fastmail.com, Sep 9, 2025
  76. 0/8 you-still-use-that??: improve breaking changes troubleshootingkristofferhaugsbakk@fastmail.com, Sep 14, 2025
  77. 1/8 git: add `deprecated` category to --list-cmdskristofferhaugsbakk@fastmail.com, Sep 14, 2025
  78. 2/8 git: move seen-alias bookkeeping into handle_alias(...)kristofferhaugsbakk@fastmail.com, Sep 14, 2025
  79. 3/8 git: allow alias-shadowing deprecated builtinskristofferhaugsbakk@fastmail.com, Sep 14, 2025
  80. 4/8 t0014: test shadowing of aliases for a sample of builtinskristofferhaugsbakk@fastmail.com, Sep 14, 2025
  81. 5/8 you-still-use-that??: help the user help themselveskristofferhaugsbakk@fastmail.com, Sep 14, 2025
  82. 6/8 whatchanged: hint about git-log(1) and aliasingkristofferhaugsbakk@fastmail.com, Sep 14, 2025
  83. 7/8 whatchanged: remove not-even-shorter clausekristofferhaugsbakk@fastmail.com, Sep 14, 2025
  84. 8/8 BreakingChanges: remove claim about whatchanged reportskristofferhaugsbakk@fastmail.com, Sep 14, 2025
  85. Junio C HamanoSep 15, 2025
  86. Kristoffer HaugsbakkSep 16, 2025
  87. Jeff KingSep 16, 2025
  88. Kristoffer HaugsbakkSep 17, 2025
  89. Junio C HamanoSep 17, 2025
  90. 0/9 you-still-use-that??: improve breaking changes troubleshootingkristofferhaugsbakk@fastmail.com, Sep 17, 2025
  91. 1/9 Makefile: don’t add whatchanged after it has been removedkristofferhaugsbakk@fastmail.com, Sep 17, 2025
  92. 2/9 git: add `deprecated` category to --list-cmdskristofferhaugsbakk@fastmail.com, Sep 17, 2025
  93. 3/9 git: move seen-alias bookkeeping into handle_alias(...)kristofferhaugsbakk@fastmail.com, Sep 17, 2025
  94. 4/9 git: allow alias-shadowing deprecated builtinskristofferhaugsbakk@fastmail.com, Sep 17, 2025
  95. 5/9 t0014: test shadowing of aliases for a sample of builtinskristofferhaugsbakk@fastmail.com, Sep 17, 2025
  96. 6/9 you-still-use-that??: help the user help themselveskristofferhaugsbakk@fastmail.com, Sep 17, 2025
  97. 7/9 whatchanged: hint about git-log(1) and aliasingkristofferhaugsbakk@fastmail.com, Sep 17, 2025
  98. 8/9 whatchanged: remove not-even-shorter clausekristofferhaugsbakk@fastmail.com, Sep 17, 2025
  99. 9/9 BreakingChanges: remove claim about whatchanged reportskristofferhaugsbakk@fastmail.com, Sep 17, 2025
  100. Jeff KingSep 18, 2025
  101. Junio C HamanoSep 18, 2025
  102. Kristoffer HaugsbakkSep 18, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.