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

Re: On shipping more of our technical docs as manpages

From
Stefan Beller <sbeller@google.com>
Date
Sep 26, 2018, 23:21 UTC
Message-ID
<CAGZ79kZOZL24Q=L-XkdrKRMjNg=dynQ+67qyD+iceg7GLru3yw@mail.gmail.com>
In-Reply-To
<878t3oj8em.fsf@evledraar.gmail.com>

On Wed, Sep 26, 2018 at 1:44 PM Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:

Show 7 quoted lines
> > And if we were going to generate something external, would it make more
> > sense to write in a structured format like doxygen? I am not a big fan
> > of it myself, but at least from there you can generate a more richly
> > interconnected set of documentation.
>
> It's useful to have a single authoritative source for all documentation
> that's easy to search through.

If that is the case I would propose to keep it all in header files and organize the headers.

> That includes stuff like perl585delta(1) which we'd stick in
> Documentation/RelNotes, and "Internals and C Language Interface". Most
> of what we'd put in Documentation/technical/api-* & headers is in
> perlapi(1).

This seems cool, but was also a recent introduction? perl400delta seems to yield nothing for me (which may be because I do not have an old version of perl installed?)

>
> Sometimes it's obvious where to look, but as someone who uses most of
> these APIs very occasionally (because I contribute less) I keep
> (re-)discovering various internal APIs.

Sometimes I have the same feeling. Maybe more structure in the source files would help (e.g. datastructures/{strbuf, string-list}.h and objects/{packfile.h, sha1*} ?

Show 6 quoted lines
> 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.
>

Personally I would not want to ship our internal docs everywhere as it seems like overly wasteful. But then, only my early days of childhood were guided by Internet that is not available anywhere and everywhere. Today I would just take for granted that I can lookup things in github/git/git when I am in not at my regular desk.

Show 15 quoted lines
> ANYWAY
>
> This E-mail is much longer than I intended, sorry about that. I didn't
> just mean to bitch about how we ship docs, but I was wondering if there
> was a desire to move to something like what I've outlined above, or
> whether the status quo was mostly by design and intended.
>
> I just thought I'd write this rather lengthy E-Mails because this is one
> of the rare areas where you can fully describe an idea in E-Mail without
> writing any patches.
>
> If the consensus is that something like the exhaustive index "perldoc
> perl" provides wouldn't be useful for git I can just drop this, but if
> people are enthusiastic about having that it would be useful to work on
> it...

I agree with Junio, as that the discoverability is unrelated to where to store the actual docs, Documentation/technical/* has the advantage that it only has "good" stuff, i.e. some topic that someone cared enough to write about and it is easy to guess if it is relevant to your need. In *.h, we have a lot of false positives (xdiff-interface.h or cache.h just pollute the searching space when looking for suitable storage classes.)

So I wonder if we'd want to have a list (similar as in command-list.txt) that describes the header files and gives some classification of them, for example one class could be the data structures (strbuf, stringlist, hashmap), algorithms (diff, range-diff), OS specific stuff (run-command, trace, alloc) or Git specific things (apply, fetch, submodule)

Previous: Junio C HamanoNext: Ævar Arnfjörð Bjarmason
Message 20 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.