git/Documentation
Shawn O. Pearce de1a2fdd38 Smart push over HTTP: client side
The git-remote-curl backend detects if the remote server supports
the git-receive-pack service, and if so, runs git-send-pack in a
pipe to dump the command and pack data as a single POST request.

The advertisements from the server that were obtained during the
discovery are passed into git-send-pack before the POST request
starts.  This permits git-send-pack to operate largely unmodified.

For smaller packs (those under 1 MiB) a HTTP/1.0 POST with a
Content-Length is used, permitting interaction with any server.
The 1 MiB limit is arbitrary, but is sufficent to fit most deltas
created by human authors against text sources with the occasional
small binary file (e.g. few KiB icon image).  The configuration
option http.postBuffer can be used to increase (or shink) this
buffer if the default is not sufficient.

For larger packs which cannot be spooled entirely into the helper's
memory space (due to http.postBuffer being too small), the POST
request requires HTTP/1.1 and sets "Transfer-Encoding: chunked".
This permits the client to upload an unknown amount of data in one
HTTP transaction without needing to pregenerate the entire pack
file locally.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
CC: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-04 17:58:15 -08:00
..
howto
…
pt_BR Fix typos on pt_BR/gittutorial.txt translation 2009-07-31 11:24:18 -07:00
technical racy-git.txt: explain nsec problem in more detail 2009-10-09 14:56:32 -07:00
.gitattributes
…
.gitignore
…
CodingGuidelines
…
Makefile Disable asciidoc 8.4.1+ semantics for `{plus}` and friends 2009-07-25 10:07:06 -07:00
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
…
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
…
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.txt GIT 1.6.5 2009-10-10 00:05:19 -07:00
SubmittingPatches SubmittingPatches: itemize and reflect upon well written changes 2009-04-28 00:40:00 -07:00
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
…
config.txt Smart push over HTTP: client side 2009-11-04 17:58:15 -08: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.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
…
git-cat-file.txt fix cat-file usage message and documentation 2009-05-25 12:08:15 -07:00
git-check-attr.txt
…
git-check-ref-format.txt Merge branch 'rr/forbid-bs-in-ref' 2009-05-23 01:39:45 -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 Documentation: clone: clarify discussion of initial branch 2009-10-09 17:21:46 -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
…
git-gc.txt Documentation/git-gc.txt: default --aggressive window is 250, not 10 2009-09-29 08:27:45 -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-backend.txt http-backend: more explict LocationMatch 2009-11-04 17:58:15 -08:00
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
…
git-pack-refs.txt
…
git-parse-remote.txt parse-remote: remove unused functions 2009-06-11 19:50:45 -07:00
git-patch-id.txt
…
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 git-push: Accept -n as a synonym for --dry-run. 2009-09-13 11:29:18 -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 git apply: option to ignore whitespace differences 2009-08-05 11:59:56 -07:00
git-receive-pack.txt
…
git-reflog.txt
…
git-relink.txt
…
git-remote-helpers.txt Move WebDAV HTTP push under remote-curl 2009-10-30 19:20:54 -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 Documentation: add documentation for "git replace" 2009-05-31 17:03:40 -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 GIT 1.6.5 2009-10-10 00:05:19 -07:00
gitattributes.txt Change mentions of "git programs" to "git commands" 2009-08-12 16:14:41 -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
…
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
…
manpage-1.72.xsl
…
manpage-base.xsl
…
manpage-bold-literal.xsl
…
manpage-normal.xsl
…
manpage-suppress-sp.xsl
…
merge-config.txt mergetool--lib: add support for araxis merge 2009-05-24 11:21:05 -07:00
merge-options.txt merge-options.txt: Clarify merge --squash 2009-05-25 11:23:18 -07:00
merge-strategies.txt
…
pretty-formats.txt
…
pretty-options.txt
…
pull-fetch-param.txt
…
rev-list-options.txt Document 'git (rev-list|log) --merges' 2009-07-13 11:09:41 -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