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

Re: [PATCH] Document the output format of ls-remote

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Mar 19, 2023, 17:30 UTC
Message-ID
<CAPig+cQ+__c0CVspBgVxcGrzj8AnJJKKaQr-ofT4oLS-C-bQtw@mail.gmail.com>
In-Reply-To
<pull.1471.git.git.1679153586903.gitgitgadget@gmail.com>

On Sat, Mar 18, 2023 at 11:51 AM Sean Allred via GitGitGadget <gitgitgadget@gmail.com> wrote:

Show 12 quoted lines
> While well-established, the output format of ls-remote was not actually
> documented. This patch adds an OUTPUT section to the documentation
> following the format of git-show-ref.txt (which has similar semantics).
>
> Signed-off-by: Sean Allred <allred.sean@gmail.com>
> ---
> diff --git a/Documentation/git-ls-remote.txt b/Documentation/git-ls-remote.txt
> @@ -96,6 +96,24 @@ OPTIONS
> +OUTPUT
> +------
> +
> +The output is in the format: '<SHA-1 ID>' '<tab>' '<reference>'.

The angle brackets in the '<foo>' notation indicate a placeholder, however, in the output, TAB is literal, it is never replaced with something else. So, to be more accurate and less confusing, we should instead say:

    The output is in the format: '<SHA-1 ID>' 'TAB' '<reference>'.

I understand that you copied '<tab>' from git-show-ref.txt, but we don't need to replicate that mistake.

Moreover, these days, we support hash algorithms beyond merely SHA-1, so the first placeholder should probably talk about object-ID instead:

    The output is in the format: '<OID>' 'TAB' '<reference>'.
Show 12 quoted lines
> +----
> +$ git ls-remote
> +950264636c68591989456e3ba0a5442f93152c1a       refs/heads/main
> +73876f4861cd3d187a4682290ab75c9dccadbc56       refs/heads/maint
> +d9ab777d41f92a8c1684c91cfb02053d7dd1046b       refs/heads/next
> +74a0ffe000da036ce4ca843d991a7c6b8c246a08       refs/heads/seen
> +860bc4360c4fcba0fe2df942984d87f8467af3df       refs/heads/todo
> +d4ca2e3147b409459955613c152220f4db848ee1       refs/tags/v2.40.0
> +8810a79228a149a9773bf9c75f381fca27a6a80e       refs/tags/v2.40.0-rc0
> +f899c182d0bffb6e915da7c8db9be202b144c098       refs/tags/v2.40.0-rc1
> +6bed3304b2b2f1cf440ca3050b57a7cf3a3fe687       refs/tags/v2.40.0-rc2
> +----

I'm not an Asciidoc expert, but despite the fact that the real git-ls-remote output emits TABs, I'm not sure we really want TABs in the documentation since various Asciidoc implementations may render it differently. Also, we don't seem to have any embedded TABs like this in other documentation. It probably would be better to use spaces in the documentation.

Those nits aside, the patch makes sense and is well-explained.
Previous: Sean Allred via GitGitGadgetNext: Felipe Contreras
Message 2 of 33 in “Document the output format of ls-remote”
  1. Document the output format of ls-remoteSean Allred via GitGitGadget, Mar 18, 2023
  2. Eric SunshineMar 19, 2023
  3. Felipe ContrerasMar 19, 2023
  4. Sean AllredMar 19, 2023
  5. 0/2 Document the output format of ls-remoteSean Allred via GitGitGadget, Mar 22, 2023
  6. 2/2 Document the output format of ls-remoteSean Allred via GitGitGadget, Mar 22, 2023
  7. Junio C HamanoMar 22, 2023
  8. Re* [PATCH v2 2/2] Document the output format of ls-remoteJunio C Hamano, Mar 22, 2023
  9. 1/2 Update show-ref documentation for internal consistencySean Allred via GitGitGadget, Mar 22, 2023
  10. Junio C HamanoMar 22, 2023
  11. 0/6 Document the output format of ls-remoteSean Allred via GitGitGadget, May 15, 2023
  12. 2/6 show-branch doc: say <ref>, not <reference>Junio C Hamano via GitGitGadget, May 15, 2023
  13. 1/6 show-ref doc: update for internal consistencySean Allred via GitGitGadget, May 15, 2023
  14. Eric SunshineMay 15, 2023
  15. Junio C HamanoMay 15, 2023
  16. Sean AllredMay 19, 2023
  17. Junio C HamanoMay 15, 2023
  18. Sean AllredMay 19, 2023
  19. 3/6 ls-remote doc: remove redundant --tags exampleSean Allred via GitGitGadget, May 15, 2023
  20. Junio C HamanoMay 15, 2023
  21. 5/6 ls-remote doc: explain what each example doesSean Allred via GitGitGadget, May 15, 2023
  22. 4/6 ls-remote doc: show peeled tags in examplesSean Allred via GitGitGadget, May 15, 2023
  23. Junio C HamanoMay 15, 2023
  24. 6/6 ls-remote doc: document the output formatSean Allred via GitGitGadget, May 15, 2023
  25. Junio C HamanoMay 15, 2023
  26. Sean AllredMay 19, 2023
  27. 0/6 Document the output format of ls-remoteSean Allred via GitGitGadget, May 19, 2023
  28. 1/6 show-ref doc: update for internal consistencySean Allred via GitGitGadget, May 19, 2023
  29. 2/6 show-branch doc: say <ref>, not <reference>Junio C Hamano via GitGitGadget, May 19, 2023
  30. 3/6 ls-remote doc: remove redundant --tags exampleSean Allred via GitGitGadget, May 19, 2023
  31. 4/6 ls-remote doc: show peeled tags in examplesSean Allred via GitGitGadget, May 19, 2023
  32. 5/6 ls-remote doc: explain what each example doesSean Allred via GitGitGadget, May 19, 2023
  33. 6/6 ls-remote doc: document the output formatSean Allred via GitGitGadget, May 19, 2023

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.