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

Re: [PATCH] Mention the fact that 'git annotate' is only for backward compatibility.

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 5, 2008, 07:29 UTC
Message-ID
<7v3akfxd74.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<vpqaben6r3n.fsf@bauges.imag.fr>
Matthieu Moy <Matthieu.Moy@imag.fr> writes:
Show 11 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
> ...
> Hm, right. Someone used to "$scm annotate" will probably try
> "git an<TAB>" and not finding anything there would be misleading
> (probably why svn has "annotate" as an alias for "blame").
>
>> Mentioning that we support both names for findability in both annotate and
>> blame manual pages (not just annotate page) might be a better thing to do.
>
> git-blame.txt already somehow has it in the documentation for "-c". I
> can't think of a good wording to improve it.

When somebody is reading git-blame.txt (or git-annotate.txt) for the first time, I think the message we would like to send is:

 (1) Here is why you would want to use this command, what it can do
     (perhaps more than what you would have expected from "$scm blame"),
     and how you tell it to do what it does.
     This is obvious.
 (2) You might have heard of the command with the other name.  There is no
     difference between the two, except they differ in their default
     output formats.  For historical reasons, we will continue supporting
     both.
     This is essential to squelch noises about "git has both?  how are
     they different?"
 (3) We tend to encourage blame over annotate for new scripts and new
     people, but there is no reason to choose one over the other.
     This is not as important as (2), but would be useful to squelch
     noises about "when will we start deprecating this?"

The mention of "annotate" in the description of "-c" hints almost nothing in (2) except that the output format might be different (otherwise we would not have "-c" command to begin with), but I guess that's Ok. As long as we describe (2) on git-annotate page clearly enough, people who are really curious could refer to git-annotate page.

So based on your wording, how about doing it like this? I chose to only hint (3) subtly in this version instead of being overly explicit.

diff --git c/Documentation/git-annotate.txt w/Documentation/git-annotate.txt
index 8b6b56a..78dc5e2 100644
--- c/Documentation/git-annotate.txt
+++ w/Documentation/git-annotate.txt
@@ -14,6 +14,11 @@ DESCRIPTION
 Annotates each line in the given file with information from the commit
 which introduced the line. Optionally annotate from a given revision.
 
+The only difference from this command and linkgit:git-blame[1] is that
+they use slightly different output formats, and this command exists only
+for backward compatibility to support existing scripts, and provide more
+familiar command name for people coming from other SCM systems.
+
 OPTIONS
 -------
 include::blame-options.txt[]
Previous: Matthieu MoyNext: Petr Baudis
Message 13 of 17 in “blame vs annotate?”
  1. Jonathan del StrotherSep 3, 2008
  2. Miklos VajnaSep 3, 2008
  3. Petr BaudisSep 3, 2008
  4. Junio C HamanoSep 3, 2008
  5. Matthieu MoySep 4, 2008
  6. Sverre RabbelierSep 4, 2008
  7. Mention the fact that 'git annotate' is only for backward compatibility.Matthieu Moy, Sep 4, 2008
  8. Petr BaudisSep 4, 2008
  9. Mention the fact that 'git annotate' is only for backward compatibility.Matthieu Moy, Sep 4, 2008
  10. Junio C HamanoSep 4, 2008
  11. Junio C HamanoSep 4, 2008
  12. Matthieu MoySep 5, 2008
  13. Junio C HamanoSep 5, 2008
  14. Petr BaudisSep 5, 2008
  15. Matthieu MoySep 5, 2008
  16. Junio C HamanoSep 5, 2008
  17. Jakub NarebskiSep 3, 2008

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.