All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Stefan Beller <sbeller@google.com>
Cc: git@vger.kernel.org, Kaartic Sivaraam <kaarticsivaraam91196@gmail.com>
Subject: Re: [PATCH/FINAL] Documentation/git-submodule: cleanup
Date: Thu, 22 Jun 2017 12:07:08 -0700	[thread overview]
Message-ID: <xmqqr2ybkfj7.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <0102015ccdb6695c-7a8b1188-5bbe-43d1-8a8f-913c006c2474-000000@eu-west-1.amazonses.com> (Kaartic Sivaraam's message of "Thu, 22 Jun 2017 02:51:42 +0000")

Kaartic Sivaraam <kaarticsivaraam91196@gmail.com> writes:

> The "add" section for 'git-submodule' is redundant in
> its description and the short synopsis line. Fix it.
>
> Remove the redundant mentioning of the 'repository' argument
> being mandatory.
>
> The text is hard to read because of back-references, so remove
> those.
>
> Replace the word "humanish" by "canonical" as that conveys better
> what we do to guess the path.
>
> While at it, quote all occurrences of '.gitmodules' as that is an
> important file in the submodule context, also link to it on its
> first mention.
>
> Helped-by: Stefan Beller <sbeller@google.com>
> Signed-off-by: Kaartic Sivaraam <kaarticsivaraam91196@gmail.com>
> ---

Stefan, do you want to add a Reviewed-by: to this one?  I've scanned
it over and overall it looked OK (iow I didn't find anything worth
complaining about).

Thanks.

>  Documentation/git-submodule.txt | 49 ++++++++++++++++++-----------------------
>  1 file changed, 21 insertions(+), 28 deletions(-)
>
> diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
> index 74bc6200d564c..6e07bade39a7c 100644
> --- a/Documentation/git-submodule.txt
> +++ b/Documentation/git-submodule.txt
> @@ -63,14 +63,6 @@ add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--dep
>  	to the changeset to be committed next to the current
>  	project: the current project is termed the "superproject".
>  +
> -This requires at least one argument: <repository>. The optional
> -argument <path> is the relative location for the cloned submodule
> -to exist in the superproject. If <path> is not given, the
> -"humanish" part of the source repository is used ("repo" for
> -"/path/to/repo.git" and "foo" for "host.xz:foo/.git").
> -The <path> is also used as the submodule's logical name in its
> -configuration entries unless `--name` is used to specify a logical name.
> -+
>  <repository> is the URL of the new submodule's origin repository.
>  This may be either an absolute URL, or (if it begins with ./
>  or ../), the location relative to the superproject's default remote
> @@ -87,21 +79,22 @@ If the superproject doesn't have a default remote configured
>  the superproject is its own authoritative upstream and the current
>  working directory is used instead.
>  +
> -<path> is the relative location for the cloned submodule to
> -exist in the superproject. If <path> does not exist, then the
> -submodule is created by cloning from the named URL. If <path> does
> -exist and is already a valid Git repository, then this is added
> -to the changeset without cloning. This second form is provided
> -to ease creating a new submodule from scratch, and presumes
> -the user will later push the submodule to the given URL.
> +The optional argument <path> is the relative location for the cloned
> +submodule to exist in the superproject. If <path> is not given, the
> +canonical part of the source repository is used ("repo" for
> +"/path/to/repo.git" and "foo" for "host.xz:foo/.git"). If <path>
> +exists and is already a valid Git repository, then it is staged
> +for commit without cloning. The <path> is also used as the submodule's
> +logical name in its configuration entries unless `--name` is used
> +to specify a logical name.
>  +
> -In either case, the given URL is recorded into .gitmodules for
> -use by subsequent users cloning the superproject. If the URL is
> -given relative to the superproject's repository, the presumption
> -is the superproject and submodule repositories will be kept
> -together in the same relative location, and only the
> -superproject's URL needs to be provided: git-submodule will correctly
> -locate the submodule using the relative URL in .gitmodules.
> +The given URL is recorded into `.gitmodules` for use by subsequent users
> +cloning the superproject. If the URL is given relative to the
> +superproject's repository, the presumption is the superproject and
> +submodule repositories will be kept together in the same relative
> +location, and only the superproject's URL needs to be provided.
> +git-submodule will correctly locate the submodule using the relative
> +URL in `.gitmodules`.
>  
>  status [--cached] [--recursive] [--] [<path>...]::
>  	Show the status of the submodules. This will print the SHA-1 of the
> @@ -123,7 +116,7 @@ too (and can also report changes to a submodule's work tree).
>  init [--] [<path>...]::
>  	Initialize the submodules recorded in the index (which were
>  	added and committed elsewhere) by setting `submodule.$name.url`
> -	in .git/config. It uses the same setting from .gitmodules as
> +	in .git/config. It uses the same setting from `.gitmodules` as
>  	a template. If the URL is relative, it will be resolved using
>  	the default remote. If there is no default remote, the current
>  	repository will be assumed to be upstream.
> @@ -197,7 +190,7 @@ configuration variable:
>  	none;; the submodule is not updated.
>  
>  If the submodule is not yet initialized, and you just want to use the
> -setting as stored in .gitmodules, you can automatically initialize the
> +setting as stored in `.gitmodules`, you can automatically initialize the
>  submodule with the `--init` option.
>  
>  If `--recursive` is specified, this command will recurse into the
> @@ -220,7 +213,7 @@ foreach [--recursive] <command>::
>  	Evaluates an arbitrary shell command in each checked out submodule.
>  	The command has access to the variables $name, $path, $sha1 and
>  	$toplevel:
> -	$name is the name of the relevant submodule section in .gitmodules,
> +	$name is the name of the relevant submodule section in `.gitmodules`,
>  	$path is the name of the submodule directory relative to the
>  	superproject, $sha1 is the commit as recorded in the superproject,
>  	and $toplevel is the absolute path to the top-level of the superproject.
> @@ -242,7 +235,7 @@ git submodule foreach 'echo $path `git rev-parse HEAD`'
>  
>  sync [--recursive] [--] [<path>...]::
>  	Synchronizes submodules' remote URL configuration setting
> -	to the value specified in .gitmodules. It will only affect those
> +	to the value specified in `.gitmodules`. It will only affect those
>  	submodules which already have a URL entry in .git/config (that is the
>  	case when they are initialized or freshly added). This is useful when
>  	submodule URLs change upstream and you need to update your local
> @@ -413,7 +406,7 @@ for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.
>  --[no-]recommend-shallow::
>  	This option is only valid for the update command.
>  	The initial clone of a submodule will use the recommended
> -	`submodule.<name>.shallow` as provided by the .gitmodules file
> +	`submodule.<name>.shallow` as provided by the `.gitmodules` file
>  	by default. To ignore the suggestions use `--no-recommend-shallow`.
>  
>  -j <n>::
> @@ -429,7 +422,7 @@ for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.
>  
>  FILES
>  -----
> -When initializing submodules, a .gitmodules file in the top-level directory
> +When initializing submodules, a `.gitmodules` file in the top-level directory
>  of the containing repository is used to find the url of each submodule.
>  This file should be formatted in the same way as `$GIT_DIR/config`. The key
>  to each submodule url is "submodule.$name.url".  See linkgit:gitmodules[5]
>
> --
> https://github.com/git/git/pull/377

  reply	other threads:[~2017-06-22 19:07 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-19  3:05 [PATCH/RFC] Cleanup Documentation Kaartic Sivaraam
2017-06-19  5:24 ` Junio C Hamano
2017-06-19  5:50   ` Stefan Beller
2017-06-19 17:33     ` Kaartic Sivaraam
2017-06-19 17:54       ` Stefan Beller
2017-06-20  3:12         ` Kaartic Sivaraam
2017-06-20 16:57           ` Stefan Beller
2017-06-20 17:05             ` Stefan Beller
2017-06-21  3:02               ` [PATCH/FINALRFC] Documentation/git-submodule: cleanup Kaartic Sivaraam
2017-06-21 16:11                 ` Junio C Hamano
2017-06-21 17:41                   ` Kaartic Sivaraam
2017-06-22  2:51                     ` [PATCH/FINAL] " Kaartic Sivaraam
2017-06-22 19:07                       ` Junio C Hamano [this message]
2017-06-22 19:13                         ` Stefan Beller
2017-06-20 18:27             ` [PATCH/RFC] Cleanup Documentation Kaartic Sivaraam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqr2ybkfj7.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=kaarticsivaraam91196@gmail.com \
    --cc=sbeller@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.