Files
git/builtin
Jonathan Tan 9da69a6539 fetch-pack: support more than one pack lockfile
Whenever a fetch results in a packfile being downloaded, a .keep file is
generated, so that the packfile can be preserved (from, say, a running
"git repack") until refs are written referring to the contents of the
packfile.

In a subsequent patch, a successful fetch using protocol v2 may result
in more than one .keep file being generated. Therefore, teach
fetch_pack() and the transport mechanism to support multiple .keep
files.

Implementation notes:

 - builtin/fetch-pack.c normally does not generate .keep files, and thus
   is unaffected by this or future changes. However, it has an
   undocumented "--lock-pack" feature, used by remote-curl.c when
   implementing the "fetch" remote helper command. In keeping with the
   remote helper protocol, only one "lock" line will ever be written;
   the rest will result in warnings to stderr. However, in practice,
   warnings will never be written because the remote-curl.c "fetch" is
   only used for protocol v0/v1 (which will not generate multiple .keep
   files). (Protocol v2 uses the "stateless-connect" command, not the
   "fetch" command.)

 - connected.c has an optimization in that connectivity checks on a ref
   need not be done if the target object is in a pack known to be
   self-contained and connected. If there are multiple packfiles, this
   optimization can no longer be done.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-06-10 18:06:34 -07:00
..
2020-04-28 10:47:10 -07:00
2020-05-05 14:54:27 -07:00
2019-11-11 11:46:29 +09:00
2020-04-28 10:47:10 -07:00
2020-05-05 14:54:27 -07:00
2020-04-28 15:50:00 -07:00
2020-05-13 12:19:19 -07:00
2020-05-13 12:19:19 -07:00
2020-03-24 15:04:43 -07:00
2020-05-05 14:54:27 -07:00
2020-05-01 13:39:59 -07:00
2020-05-05 14:54:27 -07:00
2020-05-13 12:19:19 -07:00
2019-05-13 14:22:54 +09:00
2020-04-28 10:47:10 -07:00
2020-03-24 15:04:44 -07:00
2020-05-13 12:19:18 -07:00
2020-05-05 14:54:27 -07:00
2020-05-13 12:19:19 -07:00
2020-04-28 10:47:10 -07:00
2020-05-13 12:19:18 -07:00
2020-04-28 10:47:10 -07:00
2020-05-13 12:19:18 -07:00
2020-04-28 10:47:10 -07:00
2020-04-28 10:47:10 -07:00
2019-06-19 08:19:21 -07:00
2020-03-10 11:41:40 -07:00