#include "refs.h"
#include "pkt-line.h"
#include "sideband.h"
+#include "object-store.h"
#include "tag.h"
#include "object.h"
#include "commit.h"
static const char *pack_objects_hook;
static int filter_capability_requested;
-static int filter_advertise;
+static int allow_filter;
static struct list_objects_filter_options filter_options;
static void reset_timeout(void)
if (!(object->flags & (CLIENT_SHALLOW|NOT_SHALLOW))) {
packet_write_fmt(1, "shallow %s",
oid_to_hex(&object->oid));
- register_shallow(&object->oid);
+ register_shallow(the_repository, &object->oid);
shallow_nr++;
}
result = result->next;
add_object_array(object, NULL, &extra_edge_obj);
}
/* make sure commit traversal conforms to client */
- register_shallow(&object->oid);
+ register_shallow(the_repository, &object->oid);
}
}
static void deepen(int depth, int deepen_relative,
struct object_array *shallows)
{
- if (depth == INFINITE_DEPTH && !is_repository_shallow()) {
+ if (depth == INFINITE_DEPTH && !is_repository_shallow(the_repository)) {
int i;
for (i = 0; i < shallows->nr; i++) {
no_progress = 1;
if (parse_feature_request(features, "include-tag"))
use_include_tag = 1;
- if (parse_feature_request(features, "filter"))
+ if (allow_filter && parse_feature_request(features, "filter"))
filter_capability_requested = 1;
o = parse_object(&oid_buf);
if (shallows.nr > 0) {
int i;
for (i = 0; i < shallows.nr; i++)
- register_shallow(&shallows.objects[i].item->oid);
+ register_shallow(the_repository,
+ &shallows.objects[i].item->oid);
}
shallow_nr += shallows.nr;
" allow-reachable-sha1-in-want" : "",
stateless_rpc ? " no-done" : "",
symref_info.buf,
- filter_advertise ? " filter" : "",
+ allow_filter ? " filter" : "",
git_user_agent_sanitized());
strbuf_release(&symref_info);
} else {
if (!strcmp("uploadpack.packobjectshook", var))
return git_config_string(&pack_objects_hook, var, value);
} else if (!strcmp("uploadpack.allowfilter", var)) {
- filter_advertise = git_config_bool(var, value);
+ allow_filter = git_config_bool(var, value);
}
return parse_hide_refs_config(var, value, "uploadpack");
}