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

Re: On shipping more of our technical docs as manpages

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 26, 2018, 21:40 UTC
Message-ID
<xmqqefdgj5tt.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<878t3oj8em.fsf@evledraar.gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
Show 9 quoted lines
> So in terms of implementation I'm a big fan of the perl.git approach of
> having these docs as comments before the function implementation in the
> *.c file.
>
> It means you can't avoid seeing it or updating it when source
> spelunking, and it leaves header files short, which is useful when you'd
> like to get a general API overview without all the docs. Our documented
> headers are quite fat, e.g. strbuf.h is 60% of the size of strbuf.c, but
> less than 20% when you strip the docs.

Just like you I do not care too much where the authoritative source lives, and I do agree with Peff that separate text file is much more likely to go stale wrt the code, and that it is an acceptable trade off to write docs in comment and live with slightly less freedom than writing in plain text in order to keep the docs and source closer together. I do not think between Peff and me, neither of us were contrasting in-header vs in-code comments.

And I tend to agree that it makes it even harder to let doc and code drift apart to have the doc near the implementation (as opposed to in the header). It probably makes the result less useful, unless the project invests in making the result accessible like "man perlapi" does, than having them in the header for people who view headers as guide to users of API, though.

Show 9 quoted lines
> We just don't have some central index of those, and they're not a
> default target which means the likes of our own https://git-scm.com
> don't build them, so they're harder to find.
>
> Every perl installation also ships perlapi and a MB or so of obscure
> internal docs to everyone, which makes it easier to find via Google et
> al, which I find useful. So I guess I'm more on the side fence of
> dropping a hypothetical gitapi-oid-array into /usr/share/man than you
> are.

Regardless of where we place docs (between .c/.h or .txt), making them indexable and investing in make target to actually produce these docs with ToC is different matter. I do not think people who actually spent time on our docs had enough inclination to do so themselves, but that should not prevent you or other like-minded people from leading by example.

Previous: Ævar Arnfjörð BjarmasonNext: Stefan Beller
Message 19 of 51 in “[PATCHv3 0/8] fetch: make sure submodule oids are fetched”
  1. Stefan BellerSep 21, 2018
  2. 1/8 sha1-array: provide oid_array_filterStefan Beller, Sep 21, 2018
  3. Ævar Arnfjörð BjarmasonSep 22, 2018
  4. Stefan BellerSep 25, 2018
  5. Jeff KingSep 26, 2018
  6. Junio C HamanoSep 26, 2018
  7. Ævar Arnfjörð BjarmasonSep 26, 2018
  8. Junio C HamanoSep 26, 2018
  9. Jeff KingSep 26, 2018
  10. Ævar Arnfjörð BjarmasonSep 26, 2018
  11. Jeff KingSep 26, 2018
  12. Stefan BellerSep 26, 2018
  13. Junio C HamanoSep 26, 2018
  14. Stefan BellerSep 26, 2018
  15. Junio C HamanoSep 26, 2018
  16. Jeff KingSep 26, 2018
  17. Stefan BellerSep 26, 2018
  18. On shipping more of our technical docs as manpagesÆvar Arnfjörð Bjarmason, Sep 26, 2018
  19. Junio C HamanoSep 26, 2018
  20. Stefan BellerSep 26, 2018
  21. Ævar Arnfjörð BjarmasonSep 27, 2018
  22. Jeff KingSep 27, 2018
  23. Jonathan NiederSep 27, 2018
  24. Jeff KingSep 27, 2018
  25. Junio C HamanoSep 27, 2018
  26. Jeff KingSep 27, 2018
  27. Documentation/CodingGuidelines: How to document new APIsStefan Beller, Sep 27, 2018
  28. Junio C HamanoSep 27, 2018
  29. Ævar Arnfjörð BjarmasonSep 27, 2018
  30. Jonathan NiederSep 27, 2018
  31. Jeff KingSep 28, 2018
  32. Junio C HamanoSep 28, 2018
  33. strbuf.h: format according to coding guidelinesStefan Beller, Sep 28, 2018
  34. Junio C HamanoSep 28, 2018
  35. Junio C HamanoSep 28, 2018
  36. Junio C HamanoSep 28, 2018
  37. Jeff KingSep 29, 2018
  38. Junio C HamanoSep 28, 2018
  39. Stefan BellerSep 28, 2018
  40. Martin ÅgrenSep 28, 2018
  41. Jeff KingSep 29, 2018
  42. Stefan BellerSep 28, 2018
  43. Jeff KingSep 29, 2018
  44. Jeff KingSep 27, 2018
  45. 2/8 submodule.c: fix indentationStefan Beller, Sep 21, 2018
  46. 3/8 submodule.c: sort changed_submodule_names before searching itStefan Beller, Sep 21, 2018
  47. 4/8 submodule: move global changed_submodule_names into fetch submodule structStefan Beller, Sep 21, 2018
  48. 5/8 submodule.c: do not copy around submodule listStefan Beller, Sep 21, 2018
  49. 6/8 submodule: fetch in submodules git directory instead of in worktreeStefan Beller, Sep 21, 2018
  50. 7/8 fetch: retry fetching submodules if needed objects were not fetchedStefan Beller, Sep 21, 2018
  51. 8/8 builtin/fetch: check for submodule updates for non branch fetchesStefan Beller, Sep 21, 2018

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.