git/Documentation
Jeff King a90804752f teach format-patch to place other authors into in-body "From"
Format-patch generates emails with the "From" address set to the
author of each patch. If you are going to send the emails, however,
you would want to replace the author identity with yours (if they
are not the same), and bump the author identity to an in-body
header.

Normally this is handled by git-send-email, which does the
transformation before sending out the emails. However, some
workflows may not use send-email (e.g., imap-send, or a custom
script which feeds the mbox to a non-git MUA). They could each
implement this feature themselves, but getting it right is
non-trivial (one must canonicalize the identities by reversing any
RFC2047 encoding or RFC822 quoting of the headers, which has caused
many bugs in send-email over the years).

This patch takes a different approach: it teaches format-patch a
"--from" option which handles the ident check and in-body header
while it is writing out the email.  It's much simpler to do at this
level (because we haven't done any quoting yet), and any workflow
based on format-patch can easily turn it on.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-07-03 12:11:04 -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 to 1.8.4 2013-07-01 12:46:41 -07:00
technical Merge branch 'wk/doc-in-linux-3.x-era' 2013-07-01 12:41:34 -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 'rr/column-doc' 2013-07-01 12:41:46 -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 'ap/diff-ignore-blank-lines' 2013-06-30 15:39:53 -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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-citool.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-clean.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-clone.txt Documentation: Update 'linux-2.6.git' -> 'linux.git' 2013-06-22 23:36:48 -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 'nk/config-local-doc' 2013-06-24 13:48:55 -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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-diff-index.txt Documentation/diff-index: mention two modes of operation 2013-05-20 15:50:44 -07:00
git-diff-tree.txt docs: fix some antique example output 2011-05-26 22:15:39 -07:00
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 teach format-patch to place other authors into in-body "From" 2013-07-03 12:11:04 -07:00
git-fsck-objects.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-imap-send.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages 2011-10-16 11:09:35 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-merge-base.txt merge-base: "--is-ancestor A B" 2012-08-31 11:45:33 -07:00
git-merge-file.txt docs: put listed example commands in backticks 2011-08-04 15:49:13 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-merge-tree.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-mv.txt Documentation: avoid poor-man's small caps GIT 2013-02-01 13:53:25 -08:00
git-name-rev.txt name-rev: allow to specify a subpath for --refs option 2013-06-18 12:02:02 -07:00
git-notes.txt Doc notes: Include the format-patch --notes option 2012-10-25 06:15:56 -04:00
git-p4.txt Merge branch 'ta/doc-no-small-caps' 2013-02-05 16:13:32 -08: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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-prune-packed.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-prune.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-pull.txt Merge branch 'maint-1.8.1' into maint 2013-03-27 10:51:10 -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 Merge branch 'jh/fetch-head-update' 2012-01-06 12:44:01 -08:00
git-rebase.txt rebase -i: handle fixup! fixup! in --autosquash 2013-06-27 13:52:41 -07:00
git-receive-pack.txt Sync with 1.7.6.2 2011-09-06 11:42:12 -07:00
git-reflog.txt Merge branch 'jc/prune-all' 2013-05-29 14:23:04 -07:00
git-relink.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 fsck: --no-dangling omits "dangling object" information 2012-02-28 14:55:39 -08:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-request-pull.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Merge branch 'jl/submodule-deinit' 2013-03-25 14:00:29 -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 Merge branch 'jn/doc-dashdash' into maint 2011-09-11 21:52:18 -07:00
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 stash: introduce 'git stash store' 2013-06-17 11:43:13 -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 git-submodule.txt: Clarify 'init' and 'add' subcommands. 2013-05-16 12:01:31 -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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-unpack-objects.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git.txt Sync with 1.8.3.2 2013-06-28 14:57:09 -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/INSTALL: GITWEB_CONFIG_SYSTEM is for backward compatibility 2013-04-17 15:18:12 -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 Merge branch 'jh/checkout-auto-tracking' into maint 2013-06-27 14:37:21 -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 docs: Update install-doc-quick 2011-11-08 13:37:10 -08:00
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' 2013-06-02 15:48:22 -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 revert: introduce --abort to cancel a failed cherry-pick 2011-11-22 18:16:59 -08:00
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