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

Re: [PATCH v4 0/6] Nominating "whatchanged" for removal

From
Elijah Newren <newren@gmail.com>
Date
May 12, 2025, 21:21 UTC
Message-ID
<CABPp-BGUAyRWsnRc+rrsBfPg4hzAoKPMBiD0aH4jxwdO4mEk0w@mail.gmail.com>
In-Reply-To
<20250512190311.1451556-1-gitster@pobox.com>
On Mon, May 12, 2025 at 12:04 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 65 quoted lines
>
> "git whatchanged" has outlived its usefulness when "git log" with
> various diff-related options more than 10 years ago.  It is not even
> shorter to type than its rough equivalent "git log --raw".  It is
> high time to start seeing if it is still being used, declare its
> official deprecation, and announce its removal in the future.
>
> This iteration is more complete than the previous two iterations:
>
>  * The first step is to refactor the mechanism to show the message
>    to ask users to contact git@vger that they still use the command,
>    out of "git pack-redundant" implementation.  This message is
>    shown when the "--i-still-use-this" option is not passed to a
>    command that requires it.
>
>  * The second and the third step are to remove unnecessary mentions
>    of "whatchanged" from our documentation and tests.  With these,
>    we have fewer places that we need to adjust when the command gets
>    truly removed.
>
>  * Then we start to require that the "--i-still-use-this" option is
>    passed from the command line.  This requires adjustment for tests
>    that protect the behaviour of the command, as they must now pass
>    the required option just like end-users.
>
>  * The last two steps are for a future.  In order to make sure that
>    we can cleanly ditch the feature at some future date by removing
>    it from the build, test, and documentation when Git is built with
>    WITH_BREAKING_CHANGES.  And finally we add "whatchanged" to the
>    list of features to be removed in the BreakingChanges document.
>
> This iteration incorporates updated log messages, and a missing
> period in the documentation, helped by Elijah.
>
>
> Junio C Hamano (6):
>   you-still-use-that??: help deprecating commands for removal
>   doc: prepare for a world without whatchanged
>   tests: prepare for a world without whatchanged
>   whatchanged: require --i-still-use-this
>   whatchanged: remove when built with WITH_BREAKING_CHANGES
>   whatschanged: list it in BreakingChanges document
>
>  Documentation/BreakingChanges.adoc           |  9 ++++++
>  Documentation/MyFirstObjectWalk.adoc         |  4 +--
>  Documentation/config/format.adoc             |  6 ++++
>  Documentation/config/log.adoc                | 11 +++++--
>  Documentation/git-whatchanged.adoc           | 10 ++++--
>  Documentation/pretty-options.adoc            |  5 +++
>  Documentation/rev-list-options.adoc          |  9 ++++--
>  Documentation/technical/sparse-checkout.adoc |  2 +-
>  Documentation/user-manual.adoc               |  2 +-
>  builtin/log.c                                | 19 +++++++++++
>  builtin/pack-redundant.c                     | 10 ++----
>  git-compat-util.h                            |  2 ++
>  git.c                                        |  2 ++
>  t/t4013-diff-various.sh                      | 27 ++++++++++++++--
>  t/t4202-log.sh                               | 34 ++++++++++++++------
>  t/t5323-pack-redundant.sh                    |  5 +++
>  t/t9300-fast-import.sh                       | 12 +++----
>  t/t9301-fast-import-notes.sh                 |  2 +-
>  usage.c                                      | 12 +++++++
>  19 files changed, 146 insertions(+), 37 deletions(-)
>
> Range-diff against v3:
The updates to patches 1-3 and patch 6 all look good, but...
> 4:  2775f628c3 = 4:  01d4ed9acd whatchanged: require --i-still-use-this
> 5:  b3d4d1f46a = 5:  a7aca55d5d whatchanged: remove when built with WITH_BREAKING_CHANGES

...I was surprised to see no changes to either patches 4 or 5. While I didn't comment on those patches myself, Patrick did (and since he already called out the missing word I also noticed, I just didn't call it out again).

Previous: Junio C HamanoNext: Junio C Hamano
Message 38 of 39 in “Nominating "whatchanged" for removal”
  1. 0/2 Nominating "whatchanged" for removalJunio C Hamano, May 1, 2025
  2. 1/2 you-still-use-that??: help deprecating commands for removalJunio C Hamano, May 1, 2025
  3. 2/2 whatchanged: require --i-still-use-thisJunio C Hamano, May 1, 2025
  4. Junio C HamanoMay 1, 2025
  5. 0/2 Nominating "whatchanged" for removalJunio C Hamano, May 1, 2025
  6. 1/2 you-still-use-that??: help deprecating commands for removalJunio C Hamano, May 1, 2025
  7. 2/2 whatchanged: require --i-still-use-thisJunio C Hamano, May 1, 2025
  8. Patrick SteinhardtMay 2, 2025
  9. Junio C HamanoMay 2, 2025
  10. Patrick SteinhardtMay 5, 2025
  11. Patrick SteinhardtMay 2, 2025
  12. Junio C HamanoMay 2, 2025
  13. 0/6 Nominating "whatchanged" for removalJunio C Hamano, May 3, 2025
  14. 1/6 you-still-use-that??: help deprecating commands for removalJunio C Hamano, May 3, 2025
  15. Elijah NewrenMay 12, 2025
  16. 2/6 doc: prepare for a world without whatchangedJunio C Hamano, May 3, 2025
  17. Elijah NewrenMay 12, 2025
  18. 3/6 tests: prepare for a world without whatchangedJunio C Hamano, May 3, 2025
  19. Patrick SteinhardtMay 5, 2025
  20. Elijah NewrenMay 12, 2025
  21. 4/6 whatchanged: require --i-still-use-thisJunio C Hamano, May 3, 2025
  22. Patrick SteinhardtMay 5, 2025
  23. Junio C HamanoMay 5, 2025
  24. 5/6 whatchanged: remove when built with WITH_BREAKING_CHANGESJunio C Hamano, May 3, 2025
  25. Patrick SteinhardtMay 5, 2025
  26. Junio C HamanoMay 5, 2025
  27. 6/6 whatschanged: list it in BreakingChanges documentJunio C Hamano, May 3, 2025
  28. Elijah NewrenMay 12, 2025
  29. Junio C HamanoMay 12, 2025
  30. 0/6 Nominating "whatchanged" for removalJunio C Hamano, May 12, 2025
  31. 1/6 you-still-use-that??: help deprecating commands for removalJunio C Hamano, May 12, 2025
  32. 2/6 doc: prepare for a world without whatchangedJunio C Hamano, May 12, 2025
  33. 3/6 tests: prepare for a world without whatchangedJunio C Hamano, May 12, 2025
  34. 4/6 whatchanged: require --i-still-use-thisJunio C Hamano, May 12, 2025
  35. Junio C HamanoMay 14, 2025
  36. 5/6 whatchanged: remove when built with WITH_BREAKING_CHANGESJunio C Hamano, May 12, 2025
  37. 6/6 whatschanged: list it in BreakingChanges documentJunio C Hamano, May 12, 2025
  38. Elijah NewrenMay 12, 2025
  39. Junio C HamanoMay 12, 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.