git-commit-vandalism/Documentation/technical
Jeff King 1c9b659d98 pack-protocol: clarify LF-handling in PKT-LINE()
The spec is very inconsistent about which PKT-LINE() parts
of the grammar include a LF. On top of that, the code is not
consistent, either (e.g., send-pack does not put newlines
into the ref-update commands it sends).

Let's make explicit the long-standing expectation that we
generally expect pkt-lines to end in a newline, but that
receivers should be lenient. This makes the spec consistent,
and matches what git already does (though it does not always
fulfill the SHOULD).

We do make an exception for the push-cert, where the
receiving code is currently a bit pickier. This is a
reasonable way to be, as the data needs to be byte-for-byte
compatible with what was signed. We _could_ make up some
rules about signing a canonicalized version including
newlines, but that would require a code change, and is out
of scope for this patch.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-09-03 15:18:12 -07:00
..
.gitignore
api-allocation-growing.txt add macro REALLOC_ARRAY 2014-09-18 09:13:38 -07:00
api-argv-array.txt argv-array: implement argv_array_pushv() 2015-06-15 12:40:49 -07:00
api-builtin.txt docs: document RUN_SETUP_GENTLY and clarify RUN_SETUP 2014-04-30 11:28:21 -07:00
api-config.txt Merge branch 'ta/config-set-1' 2014-09-11 10:33:25 -07:00
api-credentials.txt credential: let helpers tell us to quit 2014-12-04 10:11:12 -08:00
api-decorate.txt
api-diff.txt diff_opt: track whether flags have been set explicitly 2013-05-10 10:24:17 -07:00
api-directory-listing.txt dir.c: git-status --ignored: don't scan the work tree twice 2013-04-15 12:36:42 -07:00
api-error-handling.txt api-error-handling doc: typofix 2015-03-28 09:24:55 -07:00
api-gitattributes.txt Documentation: fix misuses of "nor" 2014-03-31 15:16:22 -07:00
api-grep.txt
api-hashmap.txt hashmap: add string interning API 2014-07-07 13:56:38 -07:00
api-history-graph.txt
api-in-core-index.txt
api-index-skel.txt
api-index.sh
api-merge.txt
api-object-access.txt
api-parse-options.txt Merge branch 'pt/pull-builtin' 2015-08-03 11:01:17 -07:00
api-quote.txt
api-ref-iteration.txt each_ref_fn: change to take an object_id parameter 2015-05-25 12:19:27 -07:00
api-remote.txt remote.c: drop "remote" pointer from "struct branch" 2015-05-21 10:48:10 -07:00
api-revision-walking.txt many small typofixes 2013-07-29 12:32:25 -07:00
api-run-command.txt Merge branch 'rs/child-process-init' 2014-10-31 11:49:49 -07:00
api-setup.txt guard against new pathspec magic in pathspec matching code 2013-07-15 10:56:07 -07:00
api-sha1-array.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
api-sigchain.txt
api-string-list.txt sort_string_list(): rename to string_list_sort() 2014-11-25 10:11:34 -08:00
api-submodule-config.txt submodule: use new config API for worktree configurations 2015-08-19 11:43:10 -07:00
api-trace.txt api-trace.txt: add trace API documentation 2014-07-13 21:25:21 -07:00
api-tree-walking.txt
api-xdiff-interface.txt
bitmap-format.txt pack-bitmap: implement optional name_hash cache 2013-12-30 12:19:23 -08:00
http-protocol.txt upload-pack: optionally allow fetching reachable sha1 2015-05-22 18:25:36 -07:00
index-format.txt Merge branch 'ta/docfix-index-format-tech' 2015-08-17 15:07:52 -07:00
pack-format.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
pack-heuristics.txt pack-heuristics.txt: mark up the file header properly 2014-01-13 11:18:34 -08:00
pack-protocol.txt pack-protocol: clarify LF-handling in PKT-LINE() 2015-09-03 15:18:12 -07:00
protocol-capabilities.txt upload-pack: optionally allow fetching reachable sha1 2015-05-22 18:25:36 -07:00
protocol-common.txt pack-protocol: clarify LF-handling in PKT-LINE() 2015-09-03 15:18:12 -07:00
racy-git.txt Makefile / racy-git.txt: clarify USE_NSEC prerequisites 2015-07-01 14:54:42 -07:00
send-pack-pipeline.txt
shallow.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
trivial-merge.txt