git-commit-vandalism/Documentation
Björn Gustavsson 134748353b Teach 'git merge' and 'git pull' the option --ff-only
For convenience in scripts and aliases, add the option
--ff-only to only allow fast-forwards (and up-to-date,
despite the name).

Disallow combining --ff-only and --no-ff, since they
flatly contradict each other.

Allow all other options to be combined with --ff-only
(i.e. do not add any code to handle them specially),
including the following options:

* --strategy (one or more): As long as the chosen merge
  strategy results in up-to-date or fast-forward, the
  command will succeed.

* --squash: I cannot imagine why anyone would want to
  squash commits only if fast-forward is possible, but I
  also see no reason why it should not be allowed.

* --message: The message will always be ignored, but I see
  no need to explicitly disallow providing a redundant message.

Acknowledgements: I did look at Yuval Kogman's earlier
patch (107768 in gmane), mainly as shortcut to find my
way in the code, but I did not copy anything directly.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-30 16:02:26 -07:00
..
howto
pt_BR Documentation: update pt-BR 2009-10-01 08:21:35 -04:00
technical racy-git.txt: explain nsec problem in more detail 2009-10-09 14:56:32 -07:00
.gitattributes
.gitignore
asciidoc.conf git-submodule documentation: fix foreach example 2009-06-30 11:17:54 -07:00
blame-options.txt
build-docdep.perl
cat-texi.perl
cmd-list.perl
CodingGuidelines
config.txt Merge branch 'jc/receive-pack-auto' 2009-10-25 18:40:20 -07:00
diff-format.txt Update the documentation of the raw diff output format 2009-07-28 13:32:59 -07:00
diff-generate-patch.txt
diff-options.txt
docbook-xsl.css docbook: change css style 2009-04-06 00:27:09 -07:00
docbook.xsl
everyday.txt
fetch-options.txt git-pull: do not mention --quiet and --verbose twice 2009-09-07 15:45:13 -07:00
fix-texi.perl
git-add.txt Improve --patch option documentation in git-add 2009-09-13 01:36:13 -07:00
git-am.txt add documentation for mailinfo.scissors and '--no-scissors' 2009-09-11 00:23:07 -07:00
git-annotate.txt
git-apply.txt git apply: option to ignore whitespace differences 2009-08-05 11:59:56 -07:00
git-archimport.txt
git-archive.txt git-archive: infer output format from filename when unspecified 2009-09-13 13:54:39 -07:00
git-bisect.txt Documentation: remove warning saying that "git bisect skip" may slow bisection 2009-06-13 10:48:59 -07:00
git-blame.txt
git-branch.txt Documentation: clarify branch creation 2009-10-09 14:54:15 -07:00
git-bundle.txt Documentation: minor grammatical fixes and rewording in git-bundle.txt 2009-03-22 20:59:20 -07:00
git-cat-file.txt fix cat-file usage message and documentation 2009-05-25 12:08:15 -07:00
git-check-attr.txt Documentation: minor grammatical fixes in git-check-attr.txt 2009-03-22 21:02:38 -07:00
git-check-ref-format.txt Merge branch 'jn/maint-1.6.3-check-ref-format-doc' into maint 2009-10-23 22:30:20 -07:00
git-checkout-index.txt
git-checkout.txt Merge branch 'tr/reset-checkout-patch' 2009-09-07 15:24:38 -07:00
git-cherry-pick.txt
git-cherry.txt
git-citool.txt
git-clean.txt UI consistency: allow --force for where -f means force 2009-08-29 14:08:03 -07:00
git-clone.txt git-clone.txt: Fix grammar and formatting 2009-10-21 17:16:08 -07:00
git-commit-tree.txt
git-commit.txt git-commit doc: remove duplicated --dry-run description 2009-09-13 11:24:26 -07:00
git-config.txt git config: clarify --add and --get-color 2009-05-09 00:19:25 -07:00
git-count-objects.txt
git-cvsexportcommit.txt Add -k option to cvsexportcommit to revert expanded CVS keywords in CVS working tree before applying commit patch 2009-06-18 10:19:50 -07:00
git-cvsimport.txt Documentation: fix typos / spelling mistakes 2009-04-20 15:56:07 -07:00
git-cvsserver.txt
git-daemon.txt Merge branch 'maint-1.6.0' into maint-1.6.1 2009-04-18 14:43:24 -07:00
git-describe.txt
git-diff-files.txt Update the documentation of the raw diff output format 2009-07-28 13:32:59 -07:00
git-diff-index.txt Update the documentation of the raw diff output format 2009-07-28 13:32:59 -07:00
git-diff-tree.txt Update the documentation of the raw diff output format 2009-07-28 13:32:59 -07:00
git-diff.txt Update the documentation of the raw diff output format 2009-07-28 13:32:59 -07:00
git-difftool.txt mergetool--lib: add support for araxis merge 2009-05-24 11:21:05 -07:00
git-fast-export.txt git fast-export: add --no-data option 2009-07-31 07:48:09 -07:00
git-fast-import.txt
git-fetch-pack.txt
git-fetch.txt
git-filter-branch.txt filter-branch: add --prune-empty to option summary 2009-10-02 03:58:24 -04:00
git-fmt-merge-msg.txt Documentation: git fmt-merge-msg does not have to be a script 2009-10-09 14:40:25 -07:00
git-for-each-ref.txt for-each-ref: utilize core.warnAmbiguousRefs for :short-format 2009-04-13 09:36:52 -07:00
git-format-patch.txt Improve doc for format-patch threading options. 2009-07-22 21:57:41 -07:00
git-fsck-objects.txt
git-fsck.txt fsck: default to "git fsck --full" 2009-10-20 12:11:39 -07:00
git-gc.txt Documentation/git-gc.txt: change "references" to "reference" 2009-10-20 00:01:23 -07:00
git-get-tar-commit-id.txt
git-grep.txt grep: Add --max-depth option. 2009-07-22 21:54:54 -07:00
git-gui.txt
git-hash-object.txt
git-help.txt
git-http-fetch.txt
git-http-push.txt
git-imap-send.txt Merge branch 'maint' 2009-04-18 14:45:59 -07:00
git-index-pack.txt
git-init-db.txt init-db: migrate to parse-options 2009-07-12 14:36:40 -07:00
git-init.txt git init: optionally allow a directory argument 2009-07-25 02:17:54 -07:00
git-instaweb.txt Add support for the Mongoose web server. 2009-08-23 15:03:53 -07:00
git-log.txt git-log: allow --decorate[=short|full] 2009-08-26 12:05:58 -07:00
git-lost-found.txt
git-ls-files.txt git-ls-files.txt: clarify what "other files" mean for --other 2009-08-06 14:01:13 -07:00
git-ls-remote.txt
git-ls-tree.txt Merge branch 'maint-1.6.1' into maint-1.6.2 2009-05-13 21:06:11 -07:00
git-mailinfo.txt add documentation for mailinfo.scissors and '--no-scissors' 2009-09-11 00:23:07 -07:00
git-mailsplit.txt
git-merge-base.txt git-merge-base/git-show-branch --merge-base: Documentation and test 2009-08-05 10:29:37 -07:00
git-merge-file.txt
git-merge-index.txt
git-merge-one-file.txt
git-merge-tree.txt
git-merge.txt Documentation: clarify mergeoptions description 2009-10-09 14:43:04 -07:00
git-mergetool--lib.txt mergetool--lib: simplify API usage by removing more global variables 2009-04-12 15:19:12 -07:00
git-mergetool.txt mergetool--lib: add support for araxis merge 2009-05-24 11:21:05 -07:00
git-mktag.txt
git-mktree.txt mktree --batch: build more than one tree object 2009-05-16 10:28:59 -07:00
git-mv.txt UI consistency: allow --force for where -f means force 2009-08-29 14:08:03 -07:00
git-name-rev.txt
git-pack-objects.txt git repack: keep commits hidden by a graft 2009-07-24 09:10:16 -07:00
git-pack-redundant.txt manpages: italicize git command names (which were in teletype font) 2008-07-05 11:24:40 -07:00
git-pack-refs.txt doc/git-pack-refs: fix two grammar issues 2009-04-05 00:39:37 -07:00
git-parse-remote.txt parse-remote: remove unused functions 2009-06-11 19:50:45 -07:00
git-patch-id.txt Grammar fixes to "merge" and "patch-id" docs 2009-03-25 17:28:33 -07:00
git-peek-remote.txt
git-prune-packed.txt prune-packed: migrate to parse-options 2009-07-10 23:57:21 -07:00
git-prune.txt
git-pull.txt
git-push.txt document push's new quiet option 2009-10-18 22:44:22 -07:00
git-quiltimport.txt quiltimport documentation: --dry-run and -n are synonyms 2009-09-13 01:32:49 -07:00
git-read-tree.txt read-tree: migrate to parse-options 2009-06-27 14:11:28 -07:00
git-rebase.txt Teach 'rebase -i' the command "reword" 2009-10-07 21:46:41 -07:00
git-receive-pack.txt
git-reflog.txt
git-relink.txt
git-remote-helpers.txt Add support for external programs for handling native fetches 2009-08-05 10:34:01 -07:00
git-remote.txt Fix typos in git-remote.txt and git-symbolic-ref.txt 2009-08-10 19:05:00 -07:00
git-repack.txt git-repack.txt: Clarify implications of -a for dumb protocols 2009-06-09 23:47:49 -07:00
git-replace.txt git: add --no-replace-objects option to disable replacing 2009-10-13 01:07:29 -07:00
git-repo-config.txt
git-request-pull.txt
git-rerere.txt git-rerere.txt: Clarify ambiguity of the config variable 2009-07-28 13:30:42 -07:00
git-reset.txt Implement 'git reset --patch' 2009-08-15 15:17:47 -07:00
git-rev-list.txt Merge branch 'maint' 2009-08-12 16:36:04 -07:00
git-rev-parse.txt parse-opt: make PARSE_OPT_STOP_AT_NON_OPTION available to git rev-parse 2009-06-13 17:08:37 -07:00
git-revert.txt
git-rm.txt
git-send-email.txt Documentation: git-send-email: correct statement about standard ports 2009-07-31 11:22:50 -07:00
git-send-pack.txt
git-sh-setup.txt
git-shell.txt git-shell: Add 'git-upload-archive' to allowed commands. 2009-04-11 11:01:15 -07:00
git-shortlog.txt
git-show-branch.txt git-merge-base/git-show-branch --merge-base: Documentation and test 2009-08-05 10:29:37 -07:00
git-show-index.txt
git-show-ref.txt show-ref: migrate to parse-options 2009-06-20 23:50:42 -07:00
git-show.txt
git-stage.txt
git-stash.txt Merge branch 'maint-1.6.4' into maint 2009-10-13 01:01:04 -07:00
git-status.txt
git-stripspace.txt
git-submodule.txt Merge branch 'jh/submodule-foreach' 2009-08-27 16:59:25 -07:00
git-svn.txt git-svn.txt: Fix location of parent argument 2009-08-18 20:47:11 -07:00
git-symbolic-ref.txt Fix typos in git-remote.txt and git-symbolic-ref.txt 2009-08-10 19:05:00 -07:00
git-tag.txt UI consistency: allow --force for where -f means force 2009-08-29 14:08:03 -07:00
git-tar-tree.txt
git-tools.txt
git-unpack-file.txt
git-unpack-objects.txt
git-update-index.txt
git-update-ref.txt
git-update-server-info.txt Remove obsolete bug warning in man git-update-server-info 2009-04-25 09:29:38 -07:00
git-upload-archive.txt
git-upload-pack.txt upload-pack: add a trigger for post-upload-pack hook 2009-08-28 22:39:17 -07:00
git-var.txt
git-verify-pack.txt verify-pack --stat-only: show histogram without verifying 2009-08-07 20:45:31 -07:00
git-verify-tag.txt
git-web--browse.txt
git-whatchanged.txt
git-write-tree.txt Minor improvement to the write-tree documentation 2009-08-26 12:05:58 -07:00
git.txt Sync with 1.6.5.2 2009-10-25 18:38:56 -07:00
gitattributes.txt Document delta attribute in "git help attributes". 2009-10-21 14:07:44 -07:00
gitcli.txt Update "describe" documentation to match reality 2009-09-22 19:40:05 -07:00
gitcore-tutorial.txt Change mentions of "git programs" to "git commands" 2009-08-12 16:14:41 -07:00
gitcvs-migration.txt gitcvs-migration: Link to git-cvsimport documentation 2009-04-20 13:45:02 -07:00
gitdiffcore.txt
gitglossary.txt
githooks.txt remove logical typo in documentation of sample update hook 2009-09-14 02:23:49 -07:00
gitignore.txt Documentation: clarify .gitattributes search 2009-04-07 21:58:25 -07:00
gitk.txt
gitmodules.txt git-submodule: add support for --merge. 2009-06-03 00:09:16 -07:00
gitrepository-layout.txt
gittutorial-2.txt
gittutorial.txt Makes some cleanup/review in gittutorial 2009-06-30 11:17:55 -07:00
gitworkflows.txt
glossary-content.txt Documentation: clarify "working tree" definition 2009-10-09 14:54:55 -07:00
howto-index.sh
i18n.txt
install-doc-quick.sh
install-webdoc.sh
mailmap.txt
Makefile Disable asciidoc 8.4.1+ semantics for {plus} and friends 2009-07-25 10:07:06 -07:00
manpage-1.72.xsl Documentation: move quieting params into manpage-base.xsl 2009-03-27 00:33:19 -07:00
manpage-base.xsl Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set 2009-04-01 11:02:42 -07:00
manpage-bold-literal.xsl Documentation: option to render literal text as bold for manpages 2009-03-27 00:33:20 -07:00
manpage-normal.xsl Documentation: move "spurious .sp" code into manpage-base.xsl 2009-03-27 00:33:19 -07:00
manpage-suppress-sp.xsl Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set 2009-04-01 11:02:42 -07:00
merge-config.txt mergetool--lib: add support for araxis merge 2009-05-24 11:21:05 -07:00
merge-options.txt Teach 'git merge' and 'git pull' the option --ff-only 2009-10-30 16:02:26 -07:00
merge-strategies.txt Grammar fixes to "merge" and "patch-id" docs 2009-03-25 17:28:33 -07:00
pretty-formats.txt pretty.c: add %f format specifier to format_commit_message() 2009-03-22 21:32:13 -07:00
pretty-options.txt
pull-fetch-param.txt
RelNotes-1.5.0.1.txt
RelNotes-1.5.0.2.txt
RelNotes-1.5.0.3.txt
RelNotes-1.5.0.4.txt
RelNotes-1.5.0.5.txt
RelNotes-1.5.0.6.txt
RelNotes-1.5.0.7.txt
RelNotes-1.5.0.txt
RelNotes-1.5.1.1.txt
RelNotes-1.5.1.2.txt
RelNotes-1.5.1.3.txt
RelNotes-1.5.1.4.txt
RelNotes-1.5.1.5.txt
RelNotes-1.5.1.6.txt
RelNotes-1.5.1.txt GIT 1.5.1 2007-04-03 22:47:01 -07:00
RelNotes-1.5.2.1.txt
RelNotes-1.5.2.2.txt
RelNotes-1.5.2.3.txt
RelNotes-1.5.2.4.txt
RelNotes-1.5.2.5.txt
RelNotes-1.5.2.txt
RelNotes-1.5.3.1.txt
RelNotes-1.5.3.2.txt
RelNotes-1.5.3.3.txt
RelNotes-1.5.3.4.txt
RelNotes-1.5.3.5.txt
RelNotes-1.5.3.6.txt
RelNotes-1.5.3.7.txt
RelNotes-1.5.3.8.txt
RelNotes-1.5.3.txt
RelNotes-1.5.4.1.txt
RelNotes-1.5.4.2.txt
RelNotes-1.5.4.3.txt
RelNotes-1.5.4.4.txt
RelNotes-1.5.4.5.txt
RelNotes-1.5.4.6.txt
RelNotes-1.5.4.7.txt
RelNotes-1.5.4.txt
RelNotes-1.5.5.1.txt
RelNotes-1.5.5.2.txt
RelNotes-1.5.5.3.txt
RelNotes-1.5.5.4.txt
RelNotes-1.5.5.5.txt
RelNotes-1.5.5.6.txt
RelNotes-1.5.5.txt
RelNotes-1.5.6.1.txt
RelNotes-1.5.6.2.txt
RelNotes-1.5.6.3.txt
RelNotes-1.5.6.4.txt
RelNotes-1.5.6.5.txt
RelNotes-1.5.6.6.txt
RelNotes-1.5.6.txt
RelNotes-1.6.0.1.txt
RelNotes-1.6.0.2.txt
RelNotes-1.6.0.3.txt
RelNotes-1.6.0.4.txt
RelNotes-1.6.0.5.txt
RelNotes-1.6.0.6.txt
RelNotes-1.6.0.txt
RelNotes-1.6.1.1.txt
RelNotes-1.6.1.2.txt
RelNotes-1.6.1.3.txt
RelNotes-1.6.1.4.txt GIT 1.6.1.4 2009-05-03 15:29:31 -07:00
RelNotes-1.6.1.txt
RelNotes-1.6.2.1.txt
RelNotes-1.6.2.2.txt GIT 1.6.2.2 2009-04-02 12:34:16 -07:00
RelNotes-1.6.2.3.txt GIT 1.6.2.3 2009-04-12 15:57:58 -07:00
RelNotes-1.6.2.4.txt GIT 1.6.2.4 2009-04-19 17:34:26 -07:00
RelNotes-1.6.2.5.txt GIT 1.6.2.5 2009-05-03 16:54:14 -07:00
RelNotes-1.6.2.txt
RelNotes-1.6.3.1.txt GIT 1.6.3.1 2009-05-12 22:30:29 -07:00
RelNotes-1.6.3.2.txt GIT 1.6.3.2 2009-06-03 22:47:48 -07:00
RelNotes-1.6.3.3.txt GIT 1.6.3.3 2009-06-21 21:15:50 -07:00
RelNotes-1.6.3.4.txt GIT 1.6.3.4 2009-07-28 23:59:30 -07:00
RelNotes-1.6.3.txt GIT 1.6.3 2009-05-06 18:16:40 -07:00
RelNotes-1.6.4.1.txt GIT 1.6.4.1 2009-08-21 20:16:10 -07:00
RelNotes-1.6.4.2.txt GIT 1.6.4.2 2009-08-29 14:31:01 -07:00
RelNotes-1.6.4.3.txt GIT 1.6.4.3 2009-09-13 01:28:13 -07:00
RelNotes-1.6.4.4.txt GIT 1.6.4.4 2009-09-16 14:53:26 -07:00
RelNotes-1.6.4.txt GIT 1.6.4 2009-07-29 00:32:42 -07:00
RelNotes-1.6.5.1.txt GIT 1.6.5.1 2009-10-16 23:57:19 -07:00
RelNotes-1.6.5.2.txt GIT 1.6.5.2 2009-10-25 18:37:56 -07:00
RelNotes-1.6.5.txt GIT 1.6.5 2009-10-10 00:05:19 -07:00
RelNotes-1.6.6.txt Update draft release notes to 1.6.6 2009-10-25 18:41:09 -07:00
rev-list-options.txt Document 'git (rev-list|log) --merges' 2009-07-13 11:09:41 -07:00
SubmittingPatches SubmittingPatches: itemize and reflect upon well written changes 2009-04-28 00:40:00 -07:00
urls-remotes.txt Allow push and fetch urls to be different 2009-06-09 23:46:47 -07:00
urls.txt Add url.<base>.pushInsteadOf: URL rewriting for push only 2009-09-08 01:18:46 -07:00
user-manual.conf
user-manual.txt Change mentions of "git programs" to "git commands" 2009-08-12 16:14:41 -07:00