static int multi_ack, nr_our_refs;
static int use_thin_pack, use_ofs_delta, use_include_tag;
-static int no_progress;
+static int no_progress, daemon_mode;
static struct object_array have_obj;
static struct object_array want_obj;
static unsigned int timeout;
commit->buffer = NULL;
}
-static void show_object(struct object_array_entry *p, void *data)
+static void show_object(struct object *obj, const struct name_path *path, const char *component)
{
/* An object with name "foo\n0000000..." can be used to
* confuse downstream git-pack-objects very badly.
*/
- const char *ep = strchr(p->name, '\n');
+ const char *name = path_name(path, component);
+ const char *ep = strchr(name, '\n');
if (ep) {
- fprintf(pack_pipe, "%s %.*s\n", sha1_to_hex(p->item->sha1),
- (int) (ep - p->name),
- p->name);
+ fprintf(pack_pipe, "%s %.*s\n", sha1_to_hex(obj->sha1),
+ (int) (ep - name),
+ name);
}
else
fprintf(pack_pipe, "%s %s\n",
- sha1_to_hex(p->item->sha1), p->name);
+ sha1_to_hex(obj->sha1), name);
+ free((char *)name);
}
static void show_edge(struct commit *commit)
}
if (debug_fd)
write_in_full(debug_fd, "#E\n", 3);
+
+ if (!use_sideband && daemon_mode)
+ no_progress = 1;
+
if (depth == 0 && shallows.nr == 0)
return;
if (depth > 0) {
}
if (!prefixcmp(arg, "--timeout=")) {
timeout = atoi(arg+10);
+ daemon_mode = 1;
continue;
}
if (!strcmp(arg, "--")) {