submodule--helper: replace connect-gitdir-workingtree by ensure-core-worktree
[gitweb.git] / transport-helper.c
index 33f51ebfc08947106bb2d19136c4f68833725bfe..eab7f47565089538fa7fb28d3046148be39b4763 100644 (file)
@@ -523,7 +523,7 @@ static int fetch_with_import(struct transport *transport,
                        continue;
                name = posn->symref ? posn->symref : posn->name;
                if (data->rs.nr)
-                       private = apply_refspecs(data->rs.items, data->rs.nr, name);
+                       private = apply_refspecs(&data->rs, name);
                else
                        private = xstrdup(name);
                if (private) {
@@ -651,14 +651,16 @@ static int connect_helper(struct transport *transport, const char *name,
 }
 
 static int fetch(struct transport *transport,
-                int nr_heads, struct ref **to_fetch)
+                int nr_heads, struct ref **to_fetch,
+                struct ref **fetched_refs)
 {
        struct helper_data *data = transport->data;
        int i, count;
 
        if (process_connect(transport, 0)) {
                do_take_over(transport);
-               return transport->vtable->fetch(transport, nr_heads, to_fetch);
+               return transport->vtable->fetch(transport, nr_heads, to_fetch,
+                                               fetched_refs);
        }
 
        count = 0;
@@ -684,6 +686,9 @@ static int fetch(struct transport *transport,
                        transport, "filter",
                        data->transport_options.filter_options.filter_spec);
 
+       if (data->transport_options.negotiation_tips)
+               warning("Ignoring --negotiation-tip because the protocol does not support it.");
+
        if (data->fetch)
                return fetch_with_fetch(transport, nr_heads, to_fetch);
 
@@ -805,7 +810,7 @@ static int push_update_refs_status(struct helper_data *data,
                        continue;
 
                /* propagate back the update to the remote namespace */
-               private = apply_refspecs(data->rs.items, data->rs.nr, ref->name);
+               private = apply_refspecs(&data->rs, ref->name);
                if (!private)
                        continue;
                update_ref("update by helper", private, &ref->new_oid, NULL,
@@ -942,7 +947,7 @@ static int push_refs_with_export(struct transport *transport,
                char *private;
                struct object_id oid;
 
-               private = apply_refspecs(data->rs.items, data->rs.nr, ref->name);
+               private = apply_refspecs(&data->rs, ref->name);
                if (private && !get_oid(private, &oid)) {
                        strbuf_addf(&buf, "^%s", private);
                        string_list_append_nodup(&revlist_args,