wt-status: convert to struct object_id
Convert the remaining uses of unsigned char [20] to struct object_id. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
d0ae910af4
commit
e86ab2c1cd
44
wt-status.c
44
wt-status.c
@ -1115,16 +1115,16 @@ static void abbrev_sha1_in_line(struct strbuf *line)
|
||||
|
||||
split = strbuf_split_max(line, ' ', 3);
|
||||
if (split[0] && split[1]) {
|
||||
unsigned char sha1[20];
|
||||
struct object_id oid;
|
||||
|
||||
/*
|
||||
* strbuf_split_max left a space. Trim it and re-add
|
||||
* it after abbreviation.
|
||||
*/
|
||||
strbuf_trim(split[1]);
|
||||
if (!get_sha1(split[1]->buf, sha1)) {
|
||||
if (!get_oid(split[1]->buf, &oid)) {
|
||||
strbuf_reset(split[1]);
|
||||
strbuf_add_unique_abbrev(split[1], sha1,
|
||||
strbuf_add_unique_abbrev(split[1], oid.hash,
|
||||
DEFAULT_ABBREV);
|
||||
strbuf_addch(split[1], ' ');
|
||||
strbuf_reset(line);
|
||||
@ -1340,7 +1340,7 @@ static void show_bisect_in_progress(struct wt_status *s,
|
||||
static char *get_branch(const struct worktree *wt, const char *path)
|
||||
{
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
unsigned char sha1[20];
|
||||
struct object_id oid;
|
||||
const char *branch_name;
|
||||
|
||||
if (strbuf_read_file(&sb, worktree_git_path(wt, "%s", path), 0) <= 0)
|
||||
@ -1354,9 +1354,9 @@ static char *get_branch(const struct worktree *wt, const char *path)
|
||||
strbuf_remove(&sb, 0, branch_name - sb.buf);
|
||||
else if (starts_with(sb.buf, "refs/"))
|
||||
;
|
||||
else if (!get_sha1_hex(sb.buf, sha1)) {
|
||||
else if (!get_oid_hex(sb.buf, &oid)) {
|
||||
strbuf_reset(&sb);
|
||||
strbuf_add_unique_abbrev(&sb, sha1, DEFAULT_ABBREV);
|
||||
strbuf_add_unique_abbrev(&sb, oid.hash, DEFAULT_ABBREV);
|
||||
} else if (!strcmp(sb.buf, "detached HEAD")) /* rebase */
|
||||
goto got_nothing;
|
||||
else /* bisect */
|
||||
@ -1370,7 +1370,7 @@ got_nothing:
|
||||
|
||||
struct grab_1st_switch_cbdata {
|
||||
struct strbuf buf;
|
||||
unsigned char nsha1[20];
|
||||
struct object_id noid;
|
||||
};
|
||||
|
||||
static int grab_1st_switch(struct object_id *ooid, struct object_id *noid,
|
||||
@ -1387,7 +1387,7 @@ static int grab_1st_switch(struct object_id *ooid, struct object_id *noid,
|
||||
return 0;
|
||||
target += strlen(" to ");
|
||||
strbuf_reset(&cb->buf);
|
||||
hashcpy(cb->nsha1, noid->hash);
|
||||
oidcpy(&cb->noid, noid);
|
||||
end = strchrnul(target, '\n');
|
||||
strbuf_add(&cb->buf, target, end - target);
|
||||
if (!strcmp(cb->buf.buf, "HEAD")) {
|
||||
@ -1402,7 +1402,7 @@ static void wt_status_get_detached_from(struct wt_status_state *state)
|
||||
{
|
||||
struct grab_1st_switch_cbdata cb;
|
||||
struct commit *commit;
|
||||
unsigned char sha1[20];
|
||||
struct object_id oid;
|
||||
char *ref = NULL;
|
||||
|
||||
strbuf_init(&cb.buf, 0);
|
||||
@ -1411,22 +1411,22 @@ static void wt_status_get_detached_from(struct wt_status_state *state)
|
||||
return;
|
||||
}
|
||||
|
||||
if (dwim_ref(cb.buf.buf, cb.buf.len, sha1, &ref) == 1 &&
|
||||
if (dwim_ref(cb.buf.buf, cb.buf.len, oid.hash, &ref) == 1 &&
|
||||
/* sha1 is a commit? match without further lookup */
|
||||
(!hashcmp(cb.nsha1, sha1) ||
|
||||
(!oidcmp(&cb.noid, &oid) ||
|
||||
/* perhaps sha1 is a tag, try to dereference to a commit */
|
||||
((commit = lookup_commit_reference_gently(sha1, 1)) != NULL &&
|
||||
!hashcmp(cb.nsha1, commit->object.oid.hash)))) {
|
||||
((commit = lookup_commit_reference_gently(oid.hash, 1)) != NULL &&
|
||||
!oidcmp(&cb.noid, &commit->object.oid)))) {
|
||||
const char *from = ref;
|
||||
if (!skip_prefix(from, "refs/tags/", &from))
|
||||
skip_prefix(from, "refs/remotes/", &from);
|
||||
state->detached_from = xstrdup(from);
|
||||
} else
|
||||
state->detached_from =
|
||||
xstrdup(find_unique_abbrev(cb.nsha1, DEFAULT_ABBREV));
|
||||
hashcpy(state->detached_sha1, cb.nsha1);
|
||||
state->detached_at = !get_sha1("HEAD", sha1) &&
|
||||
!hashcmp(sha1, state->detached_sha1);
|
||||
xstrdup(find_unique_abbrev(cb.noid.hash, DEFAULT_ABBREV));
|
||||
hashcpy(state->detached_sha1, cb.noid.hash);
|
||||
state->detached_at = !get_oid("HEAD", &oid) &&
|
||||
!hashcmp(oid.hash, state->detached_sha1);
|
||||
|
||||
free(ref);
|
||||
strbuf_release(&cb.buf);
|
||||
@ -1476,22 +1476,22 @@ void wt_status_get_state(struct wt_status_state *state,
|
||||
int get_detached_from)
|
||||
{
|
||||
struct stat st;
|
||||
unsigned char sha1[20];
|
||||
struct object_id oid;
|
||||
|
||||
if (!stat(git_path_merge_head(), &st)) {
|
||||
state->merge_in_progress = 1;
|
||||
} else if (wt_status_check_rebase(NULL, state)) {
|
||||
; /* all set */
|
||||
} else if (!stat(git_path_cherry_pick_head(), &st) &&
|
||||
!get_sha1("CHERRY_PICK_HEAD", sha1)) {
|
||||
!get_oid("CHERRY_PICK_HEAD", &oid)) {
|
||||
state->cherry_pick_in_progress = 1;
|
||||
hashcpy(state->cherry_pick_head_sha1, sha1);
|
||||
hashcpy(state->cherry_pick_head_sha1, oid.hash);
|
||||
}
|
||||
wt_status_check_bisect(NULL, state);
|
||||
if (!stat(git_path_revert_head(), &st) &&
|
||||
!get_sha1("REVERT_HEAD", sha1)) {
|
||||
!get_oid("REVERT_HEAD", &oid)) {
|
||||
state->revert_in_progress = 1;
|
||||
hashcpy(state->revert_head_sha1, sha1);
|
||||
hashcpy(state->revert_head_sha1, oid.hash);
|
||||
}
|
||||
|
||||
if (get_detached_from)
|
||||
|
Loading…
Reference in New Issue
Block a user