commit - cbc663090931e5d2fbea173a41c40264aa0c743c
commit + b2409d5842de1cb6936fa749e312f4f096ff73ee
blob - c692eaa287a755010e04969dd3306c58c3c5bfa8
blob + 12de75b8fb533d7c4768455b64d465fec539dcc2
--- got/got.c
+++ got/got.c
fetch_progress(void *arg, const char *message, off_t packfile_size,
int nobj_total, int nobj_indexed, int nobj_loose, int nobj_resolved)
{
- int *did_something = arg, p;
+ int p;
char scaled[FMT_SCALED_STRSIZE];
-
- if (message) {
+
+ if (message && message[0] != '\0' && message[0] != '\n') {
printf("\rserver: %s", message);
- *did_something = 1;
- } else if (packfile_size > 0 || nobj_indexed > 0) {
+ if (strchr(message, '\n') == 0)
+ printf("\n");
+ }
+
+ if (packfile_size > 0 || nobj_indexed > 0) {
printf("\r");
if (fmt_scaled(packfile_size, scaled) == 0)
printf(" %*s fetched", FMT_SCALED_STRSIZE, scaled);
printf("; resolving deltas %d%% (%d)",
p, nobj_resolved);
}
- *did_something = 1;
+ if (nobj_indexed > 0 && nobj_indexed == nobj_total &&
+ nobj_resolved == nobj_total - nobj_loose)
+ printf("\nWriting pack index...\n");
+
}
fflush(stdout);
return NULL;
struct got_pathlist_entry *pe;
struct got_object_id *pack_hash = NULL;
int ch, fetchfd = -1;
- int did_something = 0;
TAILQ_INIT(&refs);
TAILQ_INIT(&symrefs);
printf("Connected to %s:%s\n", host, port);
err = got_fetch_pack(&pack_hash, &refs, &symrefs, fetchfd,
- repo, fetch_progress, &did_something);
+ repo, fetch_progress, NULL);
if (err)
goto done;
- if (did_something)
- printf("\n");
err = got_object_id_str(&id_str, pack_hash);
if (err)