{
struct child_process pack_objects = CHILD_PROCESS_INIT;
char data[8193], progress[128];
{
struct child_process pack_objects = CHILD_PROCESS_INIT;
char data[8193], progress[128];
argv_array_push(&pack_objects.args, "--delta-base-offset");
if (use_include_tag)
argv_array_push(&pack_objects.args, "--include-tag");
argv_array_push(&pack_objects.args, "--delta-base-offset");
if (use_include_tag)
argv_array_push(&pack_objects.args, "--include-tag");
if (pack_objects.use_shell) {
struct strbuf buf = STRBUF_INIT;
sq_quote_buf(&buf, spec);
if (pack_objects.use_shell) {
struct strbuf buf = STRBUF_INIT;
sq_quote_buf(&buf, spec);
-static void receive_needs(struct packet_reader *reader, struct object_array *want_obj)
+static void receive_needs(struct packet_reader *reader,
+ struct object_array *want_obj,
+ struct list_objects_filter_options *filter_options)
{
struct object_array shallows = OBJECT_ARRAY_INIT;
struct string_list deepen_not = STRING_LIST_INIT_DUP;
{
struct object_array shallows = OBJECT_ARRAY_INIT;
struct string_list deepen_not = STRING_LIST_INIT_DUP;
if (skip_prefix(reader->line, "filter ", &arg)) {
if (!filter_capability_requested)
die("git upload-pack: filtering capability not negotiated");
if (skip_prefix(reader->line, "filter ", &arg)) {
if (!filter_capability_requested)
die("git upload-pack: filtering capability not negotiated");
- list_objects_filter_die_if_populated(&filter_options);
- parse_list_objects_filter(&filter_options, arg);
+ list_objects_filter_die_if_populated(filter_options);
+ parse_list_objects_filter(filter_options, arg);
struct string_list symref = STRING_LIST_INIT_DUP;
struct object_array want_obj = OBJECT_ARRAY_INIT;
struct packet_reader reader;
struct string_list symref = STRING_LIST_INIT_DUP;
struct object_array want_obj = OBJECT_ARRAY_INIT;
struct packet_reader reader;
stateless_rpc = options->stateless_rpc;
timeout = options->timeout;
daemon_mode = options->daemon_mode;
stateless_rpc = options->stateless_rpc;
timeout = options->timeout;
daemon_mode = options->daemon_mode;
git_config(upload_pack_config, NULL);
head_ref_namespaced(find_symref, &symref);
git_config(upload_pack_config, NULL);
head_ref_namespaced(find_symref, &symref);
if (want_obj.nr) {
struct object_array have_obj = OBJECT_ARRAY_INIT;
get_common_commits(&reader, &have_obj, &want_obj);
if (want_obj.nr) {
struct object_array have_obj = OBJECT_ARRAY_INIT;
get_common_commits(&reader, &have_obj, &want_obj);
oid_array_clear(&data->haves);
object_array_clear(&data->shallows);
string_list_clear(&data->deepen_not, 0);
oid_array_clear(&data->haves);
object_array_clear(&data->shallows);
string_list_clear(&data->deepen_not, 0);
struct upload_pack_data *data,
struct object_array *want_obj)
{
struct upload_pack_data *data,
struct object_array *want_obj)
{
- list_objects_filter_die_if_populated(&filter_options);
- parse_list_objects_filter(&filter_options, p);
+ list_objects_filter_die_if_populated(&data->filter_options);
+ parse_list_objects_filter(&data->filter_options, p);
/* ignore unknown lines maybe? */
die("unexpected line: '%s'", arg);
}
/* ignore unknown lines maybe? */
die("unexpected line: '%s'", arg);
}
send_shallow_info(&data, &want_obj);
packet_writer_write(&data.writer, "packfile\n");
send_shallow_info(&data, &want_obj);
packet_writer_write(&data.writer, "packfile\n");