mbox series

[v3,0/3] doc: spell configuration variable names in camelCase

Message ID 20210224202641.913770-1-gitster@pobox.com (mailing list archive)
Headers show
Series doc: spell configuration variable names in camelCase | expand

Message

Junio C Hamano Feb. 24, 2021, 8:26 p.m. UTC
I said in the first review on Denton's patch

    This obviously does not have to be part of this miniseries, but I
    wonder if we should have a list of all the configuration variables
    in one place that we can use to record the canonical spelling of
    these variables.  As

    $ git grep -h -E -i \
	    -e '^[a-z][-a-z0-9]*\.[a-z][-a-z0-9]*::' \
	    -e '^[a-z][-a-z0-9]*\.(\*|<?[a-z][-a-z0-9]*>?)\.(\*|<?[a-z][-a-z0-9]*>?)::' \
	    Documentation/config

    gives many hits with camelCased names, it might be a good place to
    start.

    Pretending that the above gives a good "canonical list" (it does not
    yet, if you look at the hits), I got curious how far we can go.

    Massaging the output from the above into config-variables.lst

    $ ... above command ... |
      sed -e 's/::$//' |
      sort -u >config-variables.lst

    and then to extract use of these tokens in the main part of the
    documentation like this:

    $ git grep -h -o -i -F -f config-variables.lst -- \
      Documentation/ ':!Documentation/RelNotes/' |
      sort -u >config-usage.lst

    gives us something we can compare with the "canonical" usage list.

    $ comm -3 config-usage.lst config-variables.lst
    blame.blankboundary
    core.excludesfile
    core.filemode
    core.gitproxy
    core.ignorestat
    core.logallrefupdates
    core.repositoryformatversion
    core.trustCtime
    http.sslverify
    http.sslversion
    i18n.commitencoding
    push.pushoption
    remote.<name>.partialCloneFilter
    remote.pushdefault
    repack.UseDeltaBaseOffset
    sendemail.aliasesfile
    showbranch.default
    transfer.hiderefs
    uploadArchive.allowUnreachable

    Some of them may be false hits, some may be showing that the copy in
    Documentation/config/ are spelled in all lowercase, but the majority
    of the hits above seem to be genuine errors similar to what you fixed
    in your patch.

    Thanks.

and as I identified a handful of low hanging fruits that way, here
are a few patches on top of his patch that started the whole thing.

I think we should make sure Documentation/config/*.txt 

 - spells all the configuration variables in the way we want to see
   them, and

 - covers all the configuration variables.

before we can proceed with more low hanging fruits with confidence,
as I do think the coverage is very good, but I know it is not 100%,
and the eventual goal should be to make sure we can teach lint-docs
to catch these before the reviewers even see them.


Denton Liu (1):
  i18n.txt: camel case and monospace "i18n.commitEncoding"

Junio C Hamano (2):
  blame-options.txt: camelcase blame.blankBoundary
  index-format doc: camelCase core.excludesFile

 Documentation/blame-options.txt          | 2 +-
 Documentation/git-am.txt                 | 2 +-
 Documentation/git-mailinfo.txt           | 4 ++--
 Documentation/i18n.txt                   | 2 +-
 Documentation/technical/index-format.txt | 4 ++--
 5 files changed, 7 insertions(+), 7 deletions(-)