Documentation/reset: promote 'examples' one section up
[gitweb.git] / Documentation / git-submodule.txt
index 68f656ce446a238e7275ceebfb5e7ea39c28817f..76a832a3ac893111b2d17333e6bc99b7903b47a8 100644 (file)
@@ -95,15 +95,19 @@ 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 submodule will be added with "git add --force <path>". I.e. git
+doesn't care if the new path is in a `gitignore`. Your invocation of
+"git submodule add" is considered enough to override it.
 
 status::
        Show the status of the submodules. This will print the SHA-1 of the
        currently checked out commit for each submodule, along with the
-       submodule path and the output of 'git-describe' for the
+       submodule path and the output of 'git describe' for the
        SHA-1. Each SHA-1 will be prefixed with `-` if the submodule is not
        initialized and `+` if the currently checked out submodule commit
        does not match the SHA-1 found in the index of the containing
-       repository. This command is the default command for 'git-submodule'.
+       repository. This command is the default command for 'git submodule'.
 +
 If '--recursive' is specified, this command will recurse into nested
 submodules, and show their status as well.
@@ -145,10 +149,12 @@ summary::
 
 foreach::
        Evaluates an arbitrary shell command in each checked out submodule.
-       The command has access to the variables $name, $path and $sha1:
+       The command has access to the variables $name, $path, $sha1 and
+       $toplevel:
        $name is the name of the relevant submodule section in .gitmodules,
        $path is the name of the submodule directory relative to the
-       superproject, and $sha1 is the commit as recorded in the superproject.
+       superproject, $sha1 is the commit as recorded in the superproject,
+       and $toplevel is the absolute path to the top-level of the superproject.
        Any submodules defined in the superproject but not checked out are
        ignored by this command. Unless given --quiet, foreach prints the name
        of each submodule before evaluating the command.
@@ -218,7 +224,7 @@ OPTIONS
        This option is only valid for the update command.
        Rebase the current branch onto the commit recorded in the
        superproject. If this option is given, the submodule's HEAD will not
-       be detached. If a merge failure prevents this process, you will have
+       be detached. If a merge failure prevents this process, you will have
        to resolve these failures with linkgit:git-rebase[1].
        If the key `submodule.$name.update` is set to `rebase`, this option is
        implicit.