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

Re: [PATCH v2 15/20] parse-options: move doc to parse-options.h

From
Heba Waly <heba.waly@gmail.com>
Date
Nov 15, 2019, 09:55 UTC
Message-ID
<CACg5j25ZO3+=EHYm5-Yp_LKEQA00EH=FAhOeP_TqHw8anCUDEg@mail.gmail.com>
In-Reply-To
<xmqqblthfxho.fsf@gitster-ct.c.googlers.com>
On Tue, Nov 12, 2019 at 6:57 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 19 quoted lines
>
> Heba Waly <heba.waly@gmail.com> writes:
>
> > So my proposal for this matter is to investigate the possibility of
> > using a doc generators that'd extract the documentations from the code
> > to a single doc file per library.
>
> Something like that may become necessary to bring docs in some of
> the *.h files up to par with D/t/api-*.txt.
>
> Note that the quality of the latter is quite uneven.  The one I
> noticed perhaps is exceptionally well-structured (even if some of
> the details of its contents may have gotten stale) and to match its
> structure, the order of presentation in the generated doc may have
> to be different from the order of definitions in the header.
>
> But for the ones with poor structure with stale contents, getting
> rid of the stale D/t/api-*.txt and describing the API in *.h files
> is a vast improvement.
I agree.

Back to the main issue you raised in the beginning: lets look at two different scenarios before and after moving the docs, the first scenario is the one you've been through trying to look for PARSE_OPT_STOP_AT_NON_OPTION, luckily you found it in Documentation/technical/api-parse-options.txt and the doc was pretty useful for you. But if you were looking for PARSE_OPT_ONE_SHOT instead, which is not documented in the doc file, you'd have ended up in parse-options.h with no documentation, even searching for the enum parse_opt_flags itself won't lead to anything useful I assume.

On the other hand, after moving the docs to the header file in the last version of this patch, if we're trying to look for either PARSE_OPT_STOP_AT_NON_OPTION or PARSE_OPT_ONE_SHOT, we'll find that it's a member of parse_opt_flags, searching for the enum will lead us to the explanation paragraph in the top of the header file (which was moved from the D/t/api-parse-options.txt) which I think sounds convenient enough as it's in the same file, and didn't go through much trouble to find the needed info.

Happy to discuss more suggestions though.
Thanks,
Heba
Previous: Junio C HamanoNext: Junio C Hamano
Message 33 of 123 in “[Outreachy] Move doc to header files”
  1. 00/10 [Outreachy] Move doc to header filesHeba Waly via GitGitGadget, Oct 29, 2019
  2. 01/10 diff: move doc to diff.h and diffcore.hHeba Waly via GitGitGadget, Oct 29, 2019
  3. 03/10 graph: move doc to graph.h and graph.cHeba Waly via GitGitGadget, Oct 29, 2019
  4. 05/10 sha1-array: move doc to sha1-array.hHeba Waly via GitGitGadget, Oct 29, 2019
  5. 08/10 attr: move doc to attr.hHeba Waly via GitGitGadget, Oct 29, 2019
  6. 04/10 merge: move doc to ll-merge.hHeba Waly via GitGitGadget, Oct 29, 2019
  7. Elijah NewrenOct 30, 2019
  8. Heba WalyOct 31, 2019
  9. Junio C HamanoNov 2, 2019
  10. 10/10 pathspec: move doc to pathspec.hHeba Waly via GitGitGadget, Oct 29, 2019
  11. 07/10 refs: move doc to refs.hHeba Waly via GitGitGadget, Oct 29, 2019
  12. 06/10 remote: move doc to remote.h and refspec.hHeba Waly via GitGitGadget, Oct 29, 2019
  13. 09/10 revision: move doc to revision.hHeba Waly via GitGitGadget, Oct 29, 2019
  14. Emily ShafferOct 29, 2019
  15. 02/10 dir: move doc to dir.hHeba Waly via GitGitGadget, Oct 29, 2019
  16. 00/20 [Outreachy] Move doc to header filesHeba Waly via GitGitGadget, Nov 6, 2019
  17. 04/20 merge: move doc to ll-merge.hHeba Waly via GitGitGadget, Nov 6, 2019
  18. 05/20 sha1-array: move doc to sha1-array.hHeba Waly via GitGitGadget, Nov 6, 2019
  19. 06/20 remote: move doc to remote.h and refspec.hHeba Waly via GitGitGadget, Nov 6, 2019
  20. 09/20 revision: move doc to revision.hHeba Waly via GitGitGadget, Nov 6, 2019
  21. 03/20 graph: move doc to graph.h and graph.cHeba Waly via GitGitGadget, Nov 6, 2019
  22. 07/20 refs: move doc to refs.hHeba Waly via GitGitGadget, Nov 6, 2019
  23. 08/20 attr: move doc to attr.hHeba Waly via GitGitGadget, Nov 6, 2019
  24. 02/20 dir: move doc to dir.hHeba Waly via GitGitGadget, Nov 6, 2019
  25. Emily ShafferNov 7, 2019
  26. Heba WalyNov 11, 2019
  27. 13/20 argv-array: move doc to argv-array.hHeba Waly via GitGitGadget, Nov 6, 2019
  28. 16/20 run-command: move doc to run-command.hHeba Waly via GitGitGadget, Nov 6, 2019
  29. 15/20 parse-options: move doc to parse-options.hHeba Waly via GitGitGadget, Nov 6, 2019
  30. Junio C HamanoNov 11, 2019
  31. Heba WalyNov 11, 2019
  32. Junio C HamanoNov 12, 2019
  33. Heba WalyNov 15, 2019
  34. Junio C HamanoNov 15, 2019
  35. Emily ShafferNov 15, 2019
  36. Heba WalyNov 17, 2019
  37. 18/20 tree-walk: move doc to tree-walk.hHeba Waly via GitGitGadget, Nov 6, 2019
  38. 20/20 trace2: move doc to trace2.hHeba Waly via GitGitGadget, Nov 6, 2019
  39. 19/20 submodule-config: move doc to submodule-config.hHeba Waly via GitGitGadget, Nov 6, 2019
  40. 10/20 pathspec: move doc to pathspec.hHeba Waly via GitGitGadget, Nov 6, 2019
  41. Emily ShafferNov 7, 2019
  42. Heba WalyNov 10, 2019
  43. 14/20 credential: move doc to credential.hHeba Waly via GitGitGadget, Nov 6, 2019
  44. 17/20 trace: move doc to trace.hHeba Waly via GitGitGadget, Nov 6, 2019
  45. Emily ShafferNov 7, 2019
  46. 12/20 cache: move doc to cache.hHeba Waly via GitGitGadget, Nov 6, 2019
  47. Emily ShafferNov 6, 2019
  48. 11/20 sigchain: move doc to sigchain.hHeba Waly via GitGitGadget, Nov 6, 2019
  49. Emily ShafferNov 6, 2019
  50. Heba WalyNov 11, 2019
  51. 01/20 diff: move doc to diff.h and diffcore.hHeba Waly via GitGitGadget, Nov 6, 2019
  52. 00/21 [Outreachy] Move doc to header filesHeba Waly via GitGitGadget, Nov 11, 2019
  53. 01/21 diff: move doc to diff.h and diffcore.hHeba Waly via GitGitGadget, Nov 11, 2019
  54. Junio C HamanoNov 12, 2019
  55. Heba WalyNov 14, 2019
  56. 02/21 dir: move doc to dir.hHeba Waly via GitGitGadget, Nov 11, 2019
  57. 03/21 graph: move doc to graph.h and graph.cHeba Waly via GitGitGadget, Nov 11, 2019
  58. 05/21 sha1-array: move doc to sha1-array.hHeba Waly via GitGitGadget, Nov 11, 2019
  59. 04/21 merge: move doc to ll-merge.hHeba Waly via GitGitGadget, Nov 11, 2019
  60. 12/21 cache: move doc to cache.hHeba Waly via GitGitGadget, Nov 11, 2019
  61. Junio C HamanoNov 12, 2019
  62. Heba WalyNov 14, 2019
  63. 06/21 remote: move doc to remote.h and refspec.hHeba Waly via GitGitGadget, Nov 11, 2019
  64. 11/21 sigchain: move doc to sigchain.hHeba Waly via GitGitGadget, Nov 11, 2019
  65. 08/21 attr: move doc to attr.hHeba Waly via GitGitGadget, Nov 11, 2019
  66. 13/21 argv-array: move doc to argv-array.hHeba Waly via GitGitGadget, Nov 11, 2019
  67. 10/21 pathspec: move doc to pathspec.hHeba Waly via GitGitGadget, Nov 11, 2019
  68. 09/21 revision: move doc to revision.hHeba Waly via GitGitGadget, Nov 11, 2019
  69. 07/21 refs: move doc to refs.hHeba Waly via GitGitGadget, Nov 11, 2019
  70. 18/21 tree-walk: move doc to tree-walk.hHeba Waly via GitGitGadget, Nov 11, 2019
  71. 20/21 trace2: move doc to trace2.hHeba Waly via GitGitGadget, Nov 11, 2019
  72. Junio C HamanoNov 12, 2019
  73. Heba WalyNov 14, 2019
  74. 21/21 api-index: remove api doc index filesHeba Waly via GitGitGadget, Nov 11, 2019
  75. 15/21 parse-options: move doc to parse-options.hHeba Waly via GitGitGadget, Nov 11, 2019
  76. 19/21 submodule-config: move doc to submodule-config.hHeba Waly via GitGitGadget, Nov 11, 2019
  77. 16/21 run-command: move doc to run-command.hHeba Waly via GitGitGadget, Nov 11, 2019
  78. 17/21 trace: move doc to trace.hHeba Waly via GitGitGadget, Nov 11, 2019
  79. 14/21 credential: move doc to credential.hHeba Waly via GitGitGadget, Nov 11, 2019
  80. 00/21 [Outreachy] Move doc to header filesHeba Waly via GitGitGadget, Nov 15, 2019
  81. 01/21 diff: move doc to diff.h and diffcore.hHeba Waly via GitGitGadget, Nov 15, 2019
  82. 05/21 sha1-array: move doc to sha1-array.hHeba Waly via GitGitGadget, Nov 15, 2019
  83. 07/21 refs: move doc to refs.hHeba Waly via GitGitGadget, Nov 15, 2019
  84. 09/21 revision: move doc to revision.hHeba Waly via GitGitGadget, Nov 15, 2019
  85. 10/21 pathspec: move doc to pathspec.hHeba Waly via GitGitGadget, Nov 15, 2019
  86. 12/21 cache: move doc to cache.hHeba Waly via GitGitGadget, Nov 15, 2019
  87. 04/21 merge: move doc to ll-merge.hHeba Waly via GitGitGadget, Nov 15, 2019
  88. 11/21 sigchain: move doc to sigchain.hHeba Waly via GitGitGadget, Nov 15, 2019
  89. 08/21 attr: move doc to attr.hHeba Waly via GitGitGadget, Nov 15, 2019
  90. 15/21 parse-options: move doc to parse-options.hHeba Waly via GitGitGadget, Nov 15, 2019
  91. 16/21 run-command: move doc to run-command.hHeba Waly via GitGitGadget, Nov 15, 2019
  92. 19/21 submodule-config: move doc to submodule-config.hHeba Waly via GitGitGadget, Nov 15, 2019
  93. 21/21 api-index: remove api doc index filesHeba Waly via GitGitGadget, Nov 15, 2019
  94. 18/21 tree-walk: move doc to tree-walk.hHeba Waly via GitGitGadget, Nov 15, 2019
  95. 20/21 trace2: move doc to trace2.hHeba Waly via GitGitGadget, Nov 15, 2019
  96. 17/21 trace: move doc to trace.hHeba Waly via GitGitGadget, Nov 15, 2019
  97. 06/21 remote: move doc to remote.h and refspec.hHeba Waly via GitGitGadget, Nov 15, 2019
  98. 14/21 credential: move doc to credential.hHeba Waly via GitGitGadget, Nov 15, 2019
  99. 13/21 argv-array: move doc to argv-array.hHeba Waly via GitGitGadget, Nov 15, 2019
  100. 02/21 dir: move doc to dir.hHeba Waly via GitGitGadget, Nov 15, 2019
  101. 03/21 graph: move doc to graph.h and graph.cHeba Waly via GitGitGadget, Nov 15, 2019
  102. 00/21 [Outreachy] Move doc to header filesHeba Waly via GitGitGadget, Nov 17, 2019
  103. 01/21 diff: move doc to diff.h and diffcore.hHeba Waly via GitGitGadget, Nov 17, 2019
  104. 03/21 graph: move doc to graph.h and graph.cHeba Waly via GitGitGadget, Nov 17, 2019
  105. 02/21 dir: move doc to dir.hHeba Waly via GitGitGadget, Nov 17, 2019
  106. 04/21 merge: move doc to ll-merge.hHeba Waly via GitGitGadget, Nov 17, 2019
  107. 06/21 remote: move doc to remote.h and refspec.hHeba Waly via GitGitGadget, Nov 17, 2019
  108. 05/21 sha1-array: move doc to sha1-array.hHeba Waly via GitGitGadget, Nov 17, 2019
  109. 07/21 refs: move doc to refs.hHeba Waly via GitGitGadget, Nov 17, 2019
  110. 08/21 attr: move doc to attr.hHeba Waly via GitGitGadget, Nov 17, 2019
  111. 09/21 revision: move doc to revision.hHeba Waly via GitGitGadget, Nov 17, 2019
  112. 11/21 sigchain: move doc to sigchain.hHeba Waly via GitGitGadget, Nov 17, 2019
  113. 15/21 parse-options: add link to doc file in parse-options.hHeba Waly via GitGitGadget, Nov 17, 2019
  114. 19/21 submodule-config: move doc to submodule-config.hHeba Waly via GitGitGadget, Nov 17, 2019
  115. 13/21 argv-array: move doc to argv-array.hHeba Waly via GitGitGadget, Nov 17, 2019
  116. 18/21 tree-walk: move doc to tree-walk.hHeba Waly via GitGitGadget, Nov 17, 2019
  117. 16/21 run-command: move doc to run-command.hHeba Waly via GitGitGadget, Nov 17, 2019
  118. 21/21 api-index: remove api doc index filesHeba Waly via GitGitGadget, Nov 17, 2019
  119. 20/21 trace2: move doc to trace2.hHeba Waly via GitGitGadget, Nov 17, 2019
  120. 17/21 trace: move doc to trace.hHeba Waly via GitGitGadget, Nov 17, 2019
  121. 14/21 credential: move doc to credential.hHeba Waly via GitGitGadget, Nov 17, 2019
  122. 12/21 cache: move doc to cache.hHeba Waly via GitGitGadget, Nov 17, 2019
  123. 10/21 pathspec: move doc to pathspec.hHeba Waly via GitGitGadget, Nov 17, 2019

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.