@@ -40,6 +40,14 @@ struct fetch_pack_args {
unsigned cloning:1;
unsigned update_shallow:1;
unsigned deepen:1;
+
+ /*
+ * Indicate that the remote of this request is a promisor remote. The
+ * pack received does not need all referred-to objects to be present in
+ * the local object store, and fetch-pack will store the pack received
+ * together with a ".promisor" file indicating that the aforementioned
+ * pack is a promisor pack.
+ */
unsigned from_promisor:1;
/*
@@ -39,7 +39,10 @@ struct options {
/* One of the SEND_PACK_PUSH_CERT_* constants. */
push_cert : 2,
deepen_relative : 1,
+
+ /* see documentation of corresponding flag in fetch-pack.h */
from_promisor : 1,
+
no_dependents : 1,
atomic : 1,
object_format : 1;
@@ -15,7 +15,10 @@ struct git_transport_options {
unsigned self_contained_and_connected : 1;
unsigned update_shallow : 1;
unsigned deepen_relative : 1;
+
+ /* see documentation of corresponding flag in fetch-pack.h */
unsigned from_promisor : 1;
+
unsigned no_dependents : 1;
/*
88e2f9ed8e ("introduce fetch-object: fetch one promisor object", 2017-12-05) plumbed through the from_promisor parameter but did not document it everywhere it appeared. Add the documentation. (It also plumbed through the no_dependents parameter, but I have left that alone because it is being removed in a commit under review [1].) [1] https://lore.kernel.org/git/e8f16d69089a5011c355d5939c56fa53b7a1eb2d.1597184949.git.jonathantanmy@google.com/ Signed-off-by: Jonathan Tan <jonathantanmy@google.com> --- fetch-pack.h | 8 ++++++++ remote-curl.c | 3 +++ transport.h | 3 +++ 3 files changed, 14 insertions(+)