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

Re: [PATCH 0/8] Doc/submodules: a few updates

From
Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Date
Jan 9, 2018, 17:06 UTC
Message-ID
<64503247-66ad-03cf-26ba-3383337971b5@gmail.com>
In-Reply-To
<CAGZ79kZ-UNCyCzmg=5PQ_p5xbmCp7HUc0=TXNBxwTjZDCnJtBg@mail.gmail.com>
On Tuesday 09 January 2018 12:38 AM, Stefan Beller wrote:
Show 18 quoted lines
> On Sat, Jan 6, 2018 at 10:46 AM, Kaartic Sivaraam
> <kaartic.sivaraam@gmail.com> wrote:
> 
> While small patches are really appreciated for code (bisect, automated
> testing, and
> the general difficulty to reason about code, as a very small change
> may affect the whole
> code base), I am not sure if they benefit in documentation.
> Documentation is a rather
> local human readable thing, so by changing one sentence we don't
> affect the understanding
> of documentation at a completely unrelated place.
> 
> Also it helps to read more than just sentence fragments, i.e. I tried
> looking at the
> whole paragraph for review. May I suggest to squash them all and
> resend as one patch?
> 

I wouldn't mind that. I thought it might be easy to find to find the parts I changed when the patches are small. So, I sent them without squashing them together. In case you feel it's not worth, let me know so I'll squash them in.

BTW, in case I did squash them in, would it be nice to keep the commit subjects of the current patch series as bullet points in the unified commit message?

Show 36 quoted lines
> 
>>
>> I based these patches on top of 'master'.
> 
> I am not aware of other submodule patches affecting documentation in master..pu,
> so this should be easy to merge.
> 
>>
>> Apart from the changes, I saw a few things that needed improvement/clarification
>> but wasn't able to do that myself due to my limited knowledge of submodules. They
>> are listed below. I'll add in patches for them if they are correctly clarified.
>>
>>
>> 1.
>>
>>  man gitsubmodules
>>
>>        ·   The configuration file $GIT_DIR/config in the superproject. Typical configuration at this place is controlling if a submodule is
>>            recursed into at all via the active flag for example.
>>
>>            If the submodule is not yet initialized, then the configuration inside the submodule does not exist yet, so configuration where to
>>            obtain the submodule from is configured here for example.
>>
>> What's the "active flag" mentioned above? Also I find the phrase "is recursed into at all"
>> to be a little slippery. How could it be improved?
> 
> There are multiple ways to indicate if a submodule is "active", i.e. if Git is
> supposed to pay attentio. Historically we had to set the
> submodule.<name>.url flag in the config, but last year Brandon added
> submodule.active as well as submodule.<name>.active which supersede
> the .url flag.
> 
> (See is_submodule_active() in submodule.c to see the definitive answer to
> "should Git pay attention?")
> https://github.com/git/git/blob/master/submodule.c#L224
> 
Thanks for the info!
Show 6 quoted lines
> I wonder if this indicates a lack of documentation when the active
> flags were introduced.
> They are found in 'man git config', but maybe we need to spell them
> out explicitly
> in the submodule related docs.
> 

Possibly. So, why not in Documentation/gitsubmodules! Here's a replaced version of that paragraph,

    * The configuration file `$GIT_DIR/config` in the superproject.
   Typically this file is used to specify whether the submodule
   is recursed into at all via the `active` flag for example. A
   submodule is considered active if `submodule.<name>.url` is set
   or if the submodules path is present in `submodule.active` or
   if `submodule.<name>.url` is set.
Show 23 quoted lines
>> 2.
>>
>>  man git submodule
>>
>>        update
>>            ...
>>
>>            checkout
>>                ....
>>
>>                If --force is specified, the submodule will be checked out (using git checkout --force if appropriate), even if the commit
>>                specified in the index of the containing repository already matches the commit checked out in the submodule.
>>
>> I'm not sure this is conveying all the information it should be conveying.
>> It seems to making the user wonder, "How at all does 'git submodule update --force'
>> differs from 'git submodule update'?" also "using git checkout --force if appropriate"
>> seems to be invoking all sorts confusion as "appropriate" is superfluous.
> 
> When "submodule update" is invoked with the `--force` flag, that flag is passed
> on to the 'checkout' operation. If you do not give the --force, then
> the checkout
> will also be done without --force.
> 

If that's the case then shouldn't the "if appropriate" part of "(using git checkout --force if appropriate)" be dropped? That seems to make it clear, at least for me. Or is intended as '--force' will not be passed to git checkout all the time?

Show 5 quoted lines
>>
>> How could these confusions be clarified?
> 
> I tried giving an alternative snippet above, not sure how else to tell.
> 
-- 
Kaartic

Quote: "Be creative. Be adventurous. Be original. And above all else, be
young." - Wonder Woman
Previous: Stefan BellerNext: Stefan Beller
Message 33 of 44 in “Doc/submodules: a few updates”
  1. 0/8 Doc/submodules: a few updatesKaartic Sivaraam, Jan 6, 2018
  2. 1/8 Doc/gitsubmodules: split a sentence for better readabilityKaartic Sivaraam, Jan 6, 2018
  3. Eric SunshineJan 7, 2018
  4. Stefan BellerJan 8, 2018
  5. 2/8 Doc/gitsubmodules: clearly specify advantage of submoduleKaartic Sivaraam, Jan 6, 2018
  6. Stefan BellerJan 8, 2018
  7. Kaartic SivaraamJan 9, 2018
  8. 3/8 Doc/gitsubmodules: specify how submodules help in reduced sizeKaartic Sivaraam, Jan 6, 2018
  9. Eric SunshineJan 7, 2018
  10. Stefan BellerJan 8, 2018
  11. Kaartic SivaraamJan 9, 2018
  12. Stefan BellerJan 9, 2018
  13. Kaartic SivaraamJan 9, 2018
  14. 4/8 Doc/gitsubmodules: avoid abbreviationsKaartic Sivaraam, Jan 6, 2018
  15. Eric SunshineJan 7, 2018
  16. Stefan BellerJan 8, 2018
  17. Kaartic SivaraamJan 9, 2018
  18. Stefan BellerJan 9, 2018
  19. Kaartic SivaraamJan 9, 2018
  20. 5/8 Doc/gitsubmodules: use "Git directory" consistentlyKaartic Sivaraam, Jan 6, 2018
  21. Eric SunshineJan 7, 2018
  22. Stefan BellerJan 8, 2018
  23. 6/8 Doc/gitsubmodules: improve readability of certain linesKaartic Sivaraam, Jan 6, 2018
  24. Eric SunshineJan 7, 2018
  25. Stefan BellerJan 8, 2018
  26. Kaartic SivaraamJan 9, 2018
  27. Stefan BellerJan 9, 2018
  28. Kaartic SivaraamJan 9, 2018
  29. 7/8 Doc/git-submodule: improve readability and grammar of a sentenceKaartic Sivaraam, Jan 6, 2018
  30. Stefan BellerJan 8, 2018
  31. 8/8 Doc/git-submodule: correctly quote important wordsKaartic Sivaraam, Jan 6, 2018
  32. Stefan BellerJan 8, 2018
  33. Kaartic SivaraamJan 9, 2018
  34. Stefan BellerJan 9, 2018
  35. 0/2 Doc/submodules: a few updatesKaartic Sivaraam, Jan 10, 2018
  36. 1/2 Doc/gitsubmodules: make some changes to improve readability and syntaxKaartic Sivaraam, Jan 10, 2018
  37. Stefan BellerJan 10, 2018
  38. 2/2 Doc/git-submodule: improve readability and grammar of a sentenceKaartic Sivaraam, Jan 10, 2018
  39. 0/2 Doc/submodules: a few updatesKaartic Sivaraam, Jan 14, 2018
  40. 1/2 Doc/gitsubmodules: make some changes to improve readability and syntaxKaartic Sivaraam, Jan 14, 2018
  41. Stefan BellerJan 16, 2018
  42. 2/2 Doc/git-submodule: improve readability and grammar of a sentenceKaartic Sivaraam, Jan 14, 2018
  43. Junio C HamanoJan 16, 2018
  44. Kaartic SivaraamJan 17, 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.