1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-08 10:13:18 +01:00
git/Documentation
Jens Lehmann 95c16418f0 rm: delete .gitmodules entry of submodules removed from the work tree
Currently using "git rm" on a submodule removes the submodule's work tree
from that of the superproject and the gitlink from the index. But the
submodule's section in .gitmodules is left untouched, which is a leftover
of the now removed submodule and might irritate users (as opposed to the
setting in .git/config, this must stay as a reminder that the user showed
interest in this submodule so it will be repopulated later when an older
commit is checked out).

Let "git rm" help the user by not only removing the submodule from the
work tree but by also removing the "submodule.<submodule name>" section
from the .gitmodules file and stage both. This doesn't happen when the
"--cached" option is used, as it would modify the work tree. This also
silently does nothing when no .gitmodules file is found and only issues a
warning when it doesn't have a section for this submodule. This is because
the user might just use plain gitlinks without the .gitmodules file or has
already removed the section by hand before issuing the "git rm" command
(in which case the warning reminds him that rm would have done that for
him). Only when .gitmodules is found and contains merge conflicts the rm
command will fail and tell the user to resolve the conflict before trying
again.

Also extend the man page to inform the user about this new feature. While
at it promote the submodule sub-section to a chapter as it made not much
sense under "REMOVING FILES THAT HAVE DISAPPEARED FROM THE FILESYSTEM".

In t7610 three uses of "git rm submod" had to be replaced with "git rm
--cached submod" because that test expects .gitmodules and the work tree
to stay untouched. Also in t7400 the tests for the remaining settings in
the .gitmodules file had to be changed to assert that these settings are
missing.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-06 14:11:00 -07:00
..
howto The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
RelNotes Update draft release notes for 1.8.4 2013-07-12 12:04:44 -07:00
technical guard against new pathspec magic in pathspec matching code 2013-07-15 10:56:07 -07:00
.gitattributes
.gitignore doc: generate a list of valid merge tools 2013-02-02 21:46:52 -08:00
asciidoc.conf Documentation: avoid poor-man's small caps GIT 2013-02-01 13:53:25 -08:00
blame-options.txt log -L: :pattern:file syntax to find by funcname 2013-03-28 10:30:04 -07:00
build-docdep.perl
cat-texi.perl Documentation: Strip texinfo anchors to avoid duplicates 2013-04-03 16:14:19 -07:00
cmd-list.perl
CodingGuidelines CodingGuidelines: Documentation/*.txt are the sources 2013-05-10 12:13:08 -07:00
config.txt Merge branch 'jg/status-config' 2013-07-11 13:05:34 -07:00
date-formats.txt
diff-config.txt Merge branch 'mp/diff-algo-config' 2013-02-17 15:25:52 -08:00
diff-format.txt
diff-generate-patch.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
diff-options.txt Merge branch 'ft/diff-rename-default-score-is-half' 2013-07-12 12:04:13 -07:00
docbook-xsl.css
docbook.xsl
everyday.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
fetch-options.txt Merge branch 'rr/maint-fetch-tag-doc-asterisks' 2013-06-11 13:31:41 -07:00
fix-texi.perl
git-add.txt git add: --ignore-removal is a better named --no-all 2013-04-22 13:34:31 -07:00
git-am.txt am: replace uses of --resolved with --continue 2013-06-27 09:37:12 -07:00
git-annotate.txt
git-apply.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-archimport.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-archive.txt documentation: trivial style cleanups 2013-05-17 12:09:21 -07:00
git-bisect-lk2009.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-bisect.txt Merge branch 'mg/bisect-doc' 2013-02-14 10:29:01 -08:00
git-blame.txt log -L: :pattern:file syntax to find by funcname 2013-03-28 10:30:04 -07:00
git-branch.txt Merge branch 'nd/branch-error-cases' 2013-02-07 14:41:38 -08:00
git-bundle.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-cat-file.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-check-attr.txt Documentation: add caveats about I/O buffering for check-{attr,ignore} 2013-04-11 11:11:36 -07:00
git-check-ignore.txt Merge branch 'maint' 2013-06-30 15:45:43 -07:00
git-check-ref-format.txt Merge branch 'fc/at-head' 2013-06-11 13:31:23 -07:00
git-checkout-index.txt
git-checkout.txt Merge branch 'jh/checkout-auto-tracking' into maint 2013-06-27 14:37:21 -07:00
git-cherry-pick.txt Merge branch 'cw/cherry-pick-allow-empty-message' 2012-09-03 15:53:37 -07:00
git-cherry.txt
git-citool.txt
git-clean.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-clone.txt git-clone.txt: remove the restriction on pushing from a shallow clone 2013-07-12 12:03:28 -07:00
git-column.txt Documentation: spelling fixes 2012-06-19 11:35:19 -07:00
git-commit-tree.txt commit-tree: document -S option consistently 2013-03-25 15:01:22 -07:00
git-commit.txt documentation: trivial style cleanups 2013-05-17 12:09:21 -07:00
git-config.txt Merge branch 'jk/maint-config-multi-order' 2013-07-12 12:04:04 -07:00
git-count-objects.txt count-objects: add -H option to humanize sizes 2013-04-10 13:27:26 -07:00
git-credential-cache--daemon.txt command-list: mention git-credential-* helpers 2012-08-08 12:11:54 -07:00
git-credential-cache.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-credential-store.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-credential.txt doc: various spelling fixes 2013-04-12 12:00:52 -07:00
git-cvsexportcommit.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-cvsimport.txt Merge branch 'ta/doc-no-small-caps' 2013-02-05 16:13:32 -08:00
git-cvsserver.txt Merge branch 'ta/doc-no-small-caps' 2013-02-05 16:13:32 -08:00
git-daemon.txt documentation: trivial style cleanups 2013-05-17 12:09:21 -07:00
git-describe.txt describe: Add --first-parent option 2013-05-20 11:09:03 -07:00
git-diff-files.txt
git-diff-index.txt Documentation/diff-index: mention two modes of operation 2013-05-20 15:50:44 -07:00
git-diff-tree.txt
git-diff.txt Merge branch 'kb/diff-blob-blob-doc' 2013-06-26 15:07:41 -07:00
git-difftool.txt documentation: trivial style cleanups 2013-05-17 12:09:21 -07:00
git-fast-export.txt Documentation: Update 'linux-2.6.git' -> 'linux.git' 2013-06-22 23:36:48 -07:00
git-fast-import.txt Merge branch 'jk/maint-fast-import-doc-reorder' into maint 2013-01-14 07:59:46 -08:00
git-fetch-pack.txt documentation: trivial style cleanups 2013-05-17 12:09:21 -07:00
git-fetch.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-filter-branch.txt Merge branch 'maint-1.8.1' into maint 2013-03-25 13:46:42 -07:00
git-fmt-merge-msg.txt documentation: trivial style cleanups 2013-05-17 12:09:21 -07:00
git-for-each-ref.txt git-for-each-ref.txt: 'raw' is a supported date format 2013-01-21 16:26:26 -08:00
git-format-patch.txt format-patch: add format.coverLetter configuration variable 2013-04-07 13:37:47 -07:00
git-fsck-objects.txt
git-fsck.txt documentation: trivial style cleanups 2013-05-17 12:09:21 -07:00
git-gc.txt git-gc.txt, git-reflog.txt: document new expiry options 2013-04-18 09:30:15 -07:00
git-get-tar-commit-id.txt
git-grep.txt documentation: trivial style cleanups 2013-05-17 12:09:21 -07:00
git-gui.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-hash-object.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-help.txt doc: include --guide option description for "git help" 2013-04-03 07:43:29 -07:00
git-http-backend.txt doc/http-backend: match query-string in apache half-auth example 2013-04-13 22:27:06 -07:00
git-http-fetch.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-http-push.txt
git-imap-send.txt
git-index-pack.txt clone: open a shortcut for connectivity check 2013-05-28 08:07:20 -07:00
git-init-db.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-init.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-instaweb.txt
git-log.txt Merge branch 'ph/builtin-srcs-are-in-subdir-these-days' 2013-06-26 15:07:48 -07:00
git-lost-found.txt Documentation: do not mention .git/refs/* directories 2012-08-06 14:04:16 -07:00
git-ls-files.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-ls-remote.txt ls-remote doc: don't encourage use of branches-file 2013-06-23 00:33:58 -07:00
git-ls-tree.txt
git-mailinfo.txt documentation: trivial style cleanups 2013-05-17 12:09:21 -07:00
git-mailsplit.txt
git-merge-base.txt merge-base: "--is-ancestor A B" 2012-08-31 11:45:33 -07:00
git-merge-file.txt
git-merge-index.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-merge-one-file.txt
git-merge-tree.txt
git-merge.txt Merge branch 'mm/merge-in-dirty-worktree-doc' 2013-06-26 15:07:43 -07:00
git-mergetool--lib.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-mergetool.txt documentation: trivial style cleanups 2013-05-17 12:09:21 -07:00
git-mktag.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-mktree.txt
git-mv.txt mv: update the path entry in .gitmodules for moved submodules 2013-08-06 14:10:35 -07:00
git-name-rev.txt Merge branch 'rr/name-rev-stdin-doc' 2013-07-12 12:04:14 -07:00
git-notes.txt Doc notes: Include the format-patch --notes option 2012-10-25 06:15:56 -04:00
git-p4.txt Change "remote tracking" to "remote-tracking" 2013-07-03 13:27:15 -07:00
git-pack-objects.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-pack-redundant.txt
git-pack-refs.txt Merge branch 'jc/tag-doc' into maint-1.7.11 2012-08-24 12:05:30 -07:00
git-parse-remote.txt
git-patch-id.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-peek-remote.txt
git-prune-packed.txt
git-prune.txt
git-pull.txt pull: change the description to "integrate" changes 2013-07-08 12:44:01 -07:00
git-push.txt Merge branch 'tr/push-no-verify-doc' into maint 2013-06-27 14:38:09 -07:00
git-quiltimport.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-read-tree.txt
git-rebase.txt rebase -i: handle fixup! fixup! in --autosquash 2013-06-27 13:52:41 -07:00
git-receive-pack.txt
git-reflog.txt Merge branch 'jc/prune-all' 2013-05-29 14:23:04 -07:00
git-relink.txt
git-remote-ext.txt doc: various spelling fixes 2013-04-12 12:00:52 -07:00
git-remote-fd.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-remote-helpers.txto Rename {git- => git}remote-helpers.txt 2013-02-01 14:12:34 -08:00
git-remote-testgit.txt Merge branch 'jk/remote-helpers-doc' 2013-02-07 14:41:45 -08:00
git-remote.txt Documentation: Update the NFS remote examples to use the staging repo 2013-06-22 23:35:17 -07:00
git-repack.txt
git-replace.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-repo-config.txt
git-request-pull.txt
git-rerere.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-reset.txt reset: update documentation to require only tree-ish with paths 2013-01-16 12:50:23 -08:00
git-rev-list.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-rev-parse.txt rev-parse: add --prefix option 2013-06-17 13:30:01 -07:00
git-revert.txt documentation: trivial style cleanups 2013-05-17 12:09:21 -07:00
git-rm.txt rm: delete .gitmodules entry of submodules removed from the work tree 2013-08-06 14:11:00 -07:00
git-send-email.txt send-email: make annotate configurable 2013-04-07 00:42:29 -07:00
git-send-pack.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-sh-i18n--envsubst.txt correct a few doubled-word nits in comments and documentation 2012-03-28 11:18:35 -07:00
git-sh-i18n.txt
git-sh-setup.txt mergetools/p4merge: create a base if none available 2013-03-13 10:46:07 -07:00
git-shell.txt shell: new no-interactive-login command to print a custom message 2013-03-09 23:21:35 -08:00
git-shortlog.txt git-shortlog.txt: make SYNOPSIS match log, update OPTIONS 2013-04-21 23:11:02 -07:00
git-show-branch.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-show-index.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-show-ref.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-show.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-stage.txt
git-stash.txt git stash: avoid data loss when "git stash save" kills a directory 2013-07-01 14:23:24 -07:00
git-status.txt Merge branch 'tb/document-status-u-tradeoff' into maint 2013-04-01 09:19:30 -07:00
git-stripspace.txt Merge branch 'ta/doc-no-small-caps' 2013-02-05 16:13:32 -08:00
git-submodule.txt Change "remote tracking" to "remote-tracking" 2013-07-03 13:27:15 -07:00
git-svn.txt git-svn: introduce --parents parameter for commands branch and tag 2013-05-20 22:05:54 +00:00
git-symbolic-ref.txt git symbolic-ref --delete $symref 2012-10-21 12:17:38 -07:00
git-tag.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-tar-tree.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-tools.txt doc: various spelling fixes 2013-04-12 12:00:52 -07:00
git-unpack-file.txt
git-unpack-objects.txt
git-update-index.txt documentation: trivial style cleanups 2013-05-17 12:09:21 -07:00
git-update-ref.txt Documentation: avoid poor-man's small caps GIT 2013-02-01 13:53:25 -08:00
git-update-server-info.txt
git-upload-archive.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-upload-pack.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-var.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-verify-pack.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-verify-tag.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-web--browse.txt web--browse: support /usr/bin/cygstart on Cygwin 2013-06-21 09:05:15 -07:00
git-whatchanged.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-write-tree.txt
git.txt parse_pathspec: accept :(icase)path syntax 2013-07-15 12:14:38 -07:00
gitattributes.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
gitcli.txt Merge branch 'gp/avoid-explicit-mention-of-dot-git-refs' into maint 2013-03-26 12:40:04 -07:00
gitcore-tutorial.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
gitcredentials.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
gitcvs-migration.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
gitdiffcore.txt diffcore-pickaxe doc: document -S and -G properly 2013-06-03 10:53:11 -07:00
gitglossary.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
githooks.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
gitignore.txt Merge branch 'ta/doc-no-small-caps' 2013-02-05 16:13:32 -08:00
gitk.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
gitmodules.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
gitnamespaces.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
gitremote-helpers.txt Merge branch 'fc/transport-helper-error-reporting' 2013-05-29 14:20:16 -07:00
gitrepository-layout.txt Document .git/modules 2013-06-09 13:45:32 -07:00
gitrevisions.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
gittutorial-2.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
gittutorial.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
gitweb.conf.txt gitweb: allow extra breadcrumbs to prefix the trail 2013-07-04 21:52:15 -07:00
gitweb.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
gitworkflows.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
glossary-content.txt parse_pathspec: accept :(icase)path syntax 2013-07-15 12:14:38 -07:00
howto-index.sh Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
i18n.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
install-doc-quick.sh
install-webdoc.sh
line-range-format.txt log -L: :pattern:file syntax to find by funcname 2013-03-28 10:30:04 -07:00
mailmap.txt Merge branch 'jk/mailmap-from-blob' 2013-01-05 23:41:42 -08:00
Makefile Documentation/Makefile: move infodir to be with other '*dir's 2013-06-17 13:11:56 -07:00
manpage-1.72.xsl
manpage-base-url.xsl.in
manpage-base.xsl
manpage-bold-literal.xsl
manpage-normal.xsl
manpage-quote-apos.xsl
manpage-suppress-sp.xsl
merge-config.txt Merge branch 'da/mergetool-docs' 2013-02-07 14:42:16 -08:00
merge-options.txt Merge branch 'rh/merge-options-doc-fix' into maint 2013-07-03 15:36:30 -07:00
merge-strategies.txt git-merge(1): document diff-algorithm option to merge-recursive 2013-04-05 10:57:23 -07:00
pretty-formats.txt Merge branch 'nd/pretty-formats' 2013-04-23 11:22:48 -07:00
pretty-options.txt Documentation: Document signature showing options 2012-09-20 10:28:51 -07:00
pull-fetch-param.txt fetch: opportunistically update tracking refs 2013-05-12 15:23:48 -07:00
rev-list-options.txt Merge branch 'jc/topo-author-date-sort' 2013-07-01 12:41:23 -07:00
revisions.txt Add new @ shortcut for HEAD 2013-05-08 12:13:12 -07:00
sequencer.txt
SubmittingPatches Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
urls-remotes.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
urls.txt Merge branch 'ft/doc-git-transport' 2013-07-01 12:41:43 -07:00
user-manual.conf docs: monospace listings in docbook output 2012-08-07 14:30:52 -07:00
user-manual.txt Merge branch 'kb/am-deprecate-resolved' 2013-07-01 12:41:48 -07:00