From: Junio C Hamano Date: Fri, 3 Feb 2017 19:25:19 +0000 (-0800) Subject: Merge branch 'rs/object-id' X-Git-Tag: v2.12.0-rc0~3 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/36acf41239a7406d52faf1b6c757ffe34e3be98d?hp=-c Merge branch 'rs/object-id' "uchar [40]" to "struct object_id" conversion continues. * rs/object-id: checkout: convert post_checkout_hook() to struct object_id use oidcpy() for copying hashes between instances of struct object_id use oid_to_hex_r() for converting struct object_id hashes to hex strings --- 36acf41239a7406d52faf1b6c757ffe34e3be98d diff --combined wt-status.c index 4dff0b3e21,a05328dc48..d47012048f --- a/wt-status.c +++ b/wt-status.c @@@ -628,7 -628,7 +628,7 @@@ static void wt_status_collect_changes_i d->index_status = DIFF_STATUS_ADDED; /* Leave {mode,oid}_head zero for adds. */ d->mode_index = ce->ce_mode; - hashcpy(d->oid_index.hash, ce->oid.hash); + oidcpy(&d->oid_index, &ce->oid); } } } @@@ -1135,17 -1135,14 +1135,17 @@@ static void abbrev_sha1_in_line(struct strbuf_list_free(split); } -static void read_rebase_todolist(const char *fname, struct string_list *lines) +static int read_rebase_todolist(const char *fname, struct string_list *lines) { struct strbuf line = STRBUF_INIT; FILE *f = fopen(git_path("%s", fname), "r"); - if (!f) + if (!f) { + if (errno == ENOENT) + return -1; die_errno("Could not open file %s for reading", git_path("%s", fname)); + } while (!strbuf_getline_lf(&line, f)) { if (line.len && line.buf[0] == comment_line_char) continue; @@@ -1155,7 -1152,6 +1155,7 @@@ abbrev_sha1_in_line(&line); string_list_append(lines, line.buf); } + return 0; } static void show_rebase_information(struct wt_status *s, @@@ -1170,10 -1166,8 +1170,10 @@@ struct string_list yet_to_do = STRING_LIST_INIT_DUP; read_rebase_todolist("rebase-merge/done", &have_done); - read_rebase_todolist("rebase-merge/git-rebase-todo", &yet_to_do); - + if (read_rebase_todolist("rebase-merge/git-rebase-todo", + &yet_to_do)) + status_printf_ln(s, color, + _("git-rebase-todo is missing.")); if (have_done.nr == 0) status_printf_ln(s, color, _("No commands done.")); else { @@@ -2102,7 -2096,7 +2102,7 @@@ static void wt_porcelain_v2_print_unmer if (strcmp(ce->name, it->string) || !stage) break; stages[stage - 1].mode = ce->ce_mode; - hashcpy(stages[stage - 1].oid.hash, ce->oid.hash); + oidcpy(&stages[stage - 1].oid, &ce->oid); sum |= (1 << (stage - 1)); } if (sum != d->stagemask)