git/Documentation/technical
Michael Heemskerk af04fa2a78 upload-pack: ignore 'shallow' lines with unknown obj-ids
When the client sends a 'shallow' line for an object that the server does
not have, the server currently dies with the error: "did not find object
for shallow <obj-id>".  The client may have truncated the history at
the commit by fetching shallowly from a different server, or the commit
may have been garbage collected by the server. In either case, this
unknown commit is not relevant for calculating the pack that is to be
sent and can be safely ignored, and it is not used when recomputing where
the updated history of the client is cauterised.

The documentation in technical/pack-protocol.txt has been updated to
remove the restriction that "Clients MUST NOT mention an obj-id which it
does not know exists on the server". This requirement is not realistic
because clients cannot know whether an object has been garbage collected
by the server.

Signed-off-by: Michael Heemskerk <mheemskerk@atlassian.com>
Reviewed-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-04-28 22:33:53 -07:00
..
.gitignore Start preparing the API documents. 2007-12-14 22:29:38 -08:00
api-allocation-growing.txt api-allocation-growing.txt: encourage better variable naming 2013-01-06 12:57:56 -08:00
api-argv-array.txt doc: various spelling fixes 2013-04-12 12:00:52 -07:00
api-builtin.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
api-config.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
api-credentials.txt doc: various spelling fixes 2013-04-12 12:00:52 -07:00
api-decorate.txt Start preparing the API documents. 2007-12-14 22:29:38 -08:00
api-diff.txt Documentation/technical/api-diff.txt: correct name of diff_unmerge() 2011-05-26 14:50:24 -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-gitattributes.txt Rename git_checkattr() to git_check_attr() 2011-08-04 15:53:21 -07:00
api-grep.txt Start preparing the API documents. 2007-12-14 22:29:38 -08:00
api-hash.txt technical-docs: document hash API 2009-12-17 21:54:50 -08:00
api-history-graph.txt graph.c: infinite loop in git whatchanged --graph -m 2012-09-25 11:07:15 -07:00
api-in-core-index.txt Start preparing the API documents. 2007-12-14 22:29:38 -08:00
api-index-skel.txt Documentation: avoid poor-man's small caps GIT 2013-02-01 13:53:25 -08:00
api-index.sh Start preparing the API documents. 2007-12-14 22:29:38 -08:00
api-lockfile.txt close_lock_file(): new function in the lockfile API 2008-01-16 15:35:03 -08:00
api-merge.txt docs: fix cross-directory linkgit references 2012-06-08 08:31:52 -07:00
api-object-access.txt Start preparing the API documents. 2007-12-14 22:29:38 -08:00
api-parse-options.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
api-quote.txt Start preparing the API documents. 2007-12-14 22:29:38 -08:00
api-ref-iteration.txt doc: various spelling fixes 2013-04-12 12:00:52 -07:00
api-remote.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
api-revision-walking.txt Teach revision walking machinery to walk multiple times sequencially 2012-03-30 08:57:49 -07:00
api-run-command.txt run-command: encode signal death as a positive integer 2013-01-06 11:09:18 -08:00
api-setup.txt Start preparing the API documents. 2007-12-14 22:29:38 -08: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 Fix typos in the documentation 2011-01-04 11:23:42 -08:00
api-strbuf.txt strbuf: create strbuf_humanise_bytes() to show byte sizes 2013-04-10 12:58:33 -07:00
api-string-list.txt Merge branch 'mh/ceiling' into maint 2013-01-28 11:07:18 -08:00
api-tree-walking.txt unpack_trees: group error messages by type 2010-08-11 10:36:06 -07:00
api-xdiff-interface.txt Start preparing the API documents. 2007-12-14 22:29:38 -08:00
index-format.txt Merge branch 'maint-1.8.1' into maint 2013-03-25 13:46:42 -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 The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
pack-protocol.txt upload-pack: ignore 'shallow' lines with unknown obj-ids 2013-04-28 22:33:53 -07:00
protocol-capabilities.txt Documentation: Spelling fix in protocol-capabilities.txt 2010-07-09 17:36:28 -07:00
protocol-common.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
racy-git.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
send-pack-pipeline.txt Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt 2012-10-16 16:09:09 -07:00
shallow.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
trivial-merge.txt Documentation/technical: convert plain text files to asciidoc 2012-10-16 16:09:09 -07:00