зеркало из https://github.com/microsoft/git.git
Merge branch 'jk/cocci'
spatch transformation to replace boolean uses of !hashcmp() to newly introduced oideq() is added, and applied, to regain performance lost due to support of multiple hash algorithms. * jk/cocci: show_dirstat: simplify same-content check read-cache: use oideq() in ce_compare functions convert hashmap comparison functions to oideq() convert "hashcmp() != 0" to "!hasheq()" convert "oidcmp() != 0" to "!oideq()" convert "hashcmp() == 0" to hasheq() convert "oidcmp() == 0" to oideq() introduce hasheq() and oideq() coccinelle: use <...> for function exclusion
This commit is contained in:
Коммит
769af0fd9e
6
bisect.c
6
bisect.c
|
@ -596,7 +596,7 @@ static struct commit_list *skip_away(struct commit_list *list, int count)
|
|||
|
||||
for (i = 0; cur; cur = cur->next, i++) {
|
||||
if (i == index) {
|
||||
if (oidcmp(&cur->item->object.oid, current_bad_oid))
|
||||
if (!oideq(&cur->item->object.oid, current_bad_oid))
|
||||
return cur;
|
||||
if (previous)
|
||||
return previous;
|
||||
|
@ -808,7 +808,7 @@ static void check_merge_bases(int rev_nr, struct commit **rev, int no_checkout)
|
|||
|
||||
for (; result; result = result->next) {
|
||||
const struct object_id *mb = &result->item->object.oid;
|
||||
if (!oidcmp(mb, current_bad_oid)) {
|
||||
if (oideq(mb, current_bad_oid)) {
|
||||
handle_bad_merge_base();
|
||||
} else if (0 <= oid_array_lookup(&good_revs, mb)) {
|
||||
continue;
|
||||
|
@ -989,7 +989,7 @@ int bisect_next_all(const char *prefix, int no_checkout)
|
|||
|
||||
bisect_rev = &revs.commits->item->object.oid;
|
||||
|
||||
if (!oidcmp(bisect_rev, current_bad_oid)) {
|
||||
if (oideq(bisect_rev, current_bad_oid)) {
|
||||
exit_if_skipped_commits(tried, current_bad_oid);
|
||||
printf("%s is the first %s commit\n", oid_to_hex(bisect_rev),
|
||||
term_bad);
|
||||
|
|
8
blame.c
8
blame.c
|
@ -1457,14 +1457,14 @@ static void pass_blame(struct blame_scoreboard *sb, struct blame_origin *origin,
|
|||
porigin = find(p, origin);
|
||||
if (!porigin)
|
||||
continue;
|
||||
if (!oidcmp(&porigin->blob_oid, &origin->blob_oid)) {
|
||||
if (oideq(&porigin->blob_oid, &origin->blob_oid)) {
|
||||
pass_whole_blame(sb, origin, porigin);
|
||||
blame_origin_decref(porigin);
|
||||
goto finish;
|
||||
}
|
||||
for (j = same = 0; j < i; j++)
|
||||
if (sg_origin[j] &&
|
||||
!oidcmp(&sg_origin[j]->blob_oid, &porigin->blob_oid)) {
|
||||
oideq(&sg_origin[j]->blob_oid, &porigin->blob_oid)) {
|
||||
same = 1;
|
||||
break;
|
||||
}
|
||||
|
@ -1832,7 +1832,7 @@ void setup_scoreboard(struct blame_scoreboard *sb,
|
|||
|
||||
sb->revs->children.name = "children";
|
||||
while (c->parents &&
|
||||
oidcmp(&c->object.oid, &sb->final->object.oid)) {
|
||||
!oideq(&c->object.oid, &sb->final->object.oid)) {
|
||||
struct commit_list *l = xcalloc(1, sizeof(*l));
|
||||
|
||||
l->item = c;
|
||||
|
@ -1842,7 +1842,7 @@ void setup_scoreboard(struct blame_scoreboard *sb,
|
|||
c = c->parents->item;
|
||||
}
|
||||
|
||||
if (oidcmp(&c->object.oid, &sb->final->object.oid))
|
||||
if (!oideq(&c->object.oid, &sb->final->object.oid))
|
||||
die(_("--reverse --first-parent together require range along first-parent chain"));
|
||||
}
|
||||
|
||||
|
|
|
@ -2078,7 +2078,7 @@ static int safe_to_abort(const struct am_state *state)
|
|||
if (get_oid("HEAD", &head))
|
||||
oidclr(&head);
|
||||
|
||||
if (!oidcmp(&head, &abort_safety))
|
||||
if (oideq(&head, &abort_safety))
|
||||
return 1;
|
||||
|
||||
warning(_("You seem to have moved HEAD since the last 'am' failure.\n"
|
||||
|
|
|
@ -102,7 +102,7 @@ static int update_some(const struct object_id *oid, struct strbuf *base,
|
|||
if (pos >= 0) {
|
||||
struct cache_entry *old = active_cache[pos];
|
||||
if (ce->ce_mode == old->ce_mode &&
|
||||
!oidcmp(&ce->oid, &old->oid)) {
|
||||
oideq(&ce->oid, &old->oid)) {
|
||||
old->ce_flags |= CE_UPDATE;
|
||||
discard_cache_entry(ce);
|
||||
return 0;
|
||||
|
|
|
@ -62,7 +62,7 @@ static const char *prio_names[] = {
|
|||
N_("head"), N_("lightweight"), N_("annotated"),
|
||||
};
|
||||
|
||||
static int commit_name_cmp(const void *unused_cmp_data,
|
||||
static int commit_name_neq(const void *unused_cmp_data,
|
||||
const void *entry,
|
||||
const void *entry_or_key,
|
||||
const void *peeled)
|
||||
|
@ -70,7 +70,7 @@ static int commit_name_cmp(const void *unused_cmp_data,
|
|||
const struct commit_name *cn1 = entry;
|
||||
const struct commit_name *cn2 = entry_or_key;
|
||||
|
||||
return oidcmp(&cn1->peeled, peeled ? peeled : &cn2->peeled);
|
||||
return !oideq(&cn1->peeled, peeled ? peeled : &cn2->peeled);
|
||||
}
|
||||
|
||||
static inline struct commit_name *find_commit_name(const struct object_id *peeled)
|
||||
|
@ -190,7 +190,7 @@ static int get_name(const char *path, const struct object_id *oid, int flag, voi
|
|||
|
||||
/* Is it annotated? */
|
||||
if (!peel_ref(path, &peeled)) {
|
||||
is_annotated = !!oidcmp(oid, &peeled);
|
||||
is_annotated = !oideq(oid, &peeled);
|
||||
} else {
|
||||
oidcpy(&peeled, oid);
|
||||
is_annotated = 0;
|
||||
|
@ -469,7 +469,7 @@ static void process_object(struct object *obj, const char *path, void *data)
|
|||
{
|
||||
struct process_commit_data *pcd = data;
|
||||
|
||||
if (!oidcmp(&pcd->looking_for, &obj->oid) && !pcd->dst->len) {
|
||||
if (oideq(&pcd->looking_for, &obj->oid) && !pcd->dst->len) {
|
||||
reset_revision_walk();
|
||||
describe_commit(&pcd->current_commit, pcd->dst);
|
||||
strbuf_addf(pcd->dst, ":%s", path);
|
||||
|
@ -596,7 +596,7 @@ int cmd_describe(int argc, const char **argv, const char *prefix)
|
|||
return cmd_name_rev(args.argc, args.argv, prefix);
|
||||
}
|
||||
|
||||
hashmap_init(&names, commit_name_cmp, NULL, 0);
|
||||
hashmap_init(&names, commit_name_neq, NULL, 0);
|
||||
for_each_rawref(get_name, NULL);
|
||||
if (!hashmap_get_size(&names) && !always)
|
||||
die(_("No names found, cannot describe anything."));
|
||||
|
|
|
@ -41,7 +41,7 @@ static void stuff_change(struct diff_options *opt,
|
|||
struct diff_filespec *one, *two;
|
||||
|
||||
if (!is_null_oid(old_oid) && !is_null_oid(new_oid) &&
|
||||
!oidcmp(old_oid, new_oid) && (old_mode == new_mode))
|
||||
oideq(old_oid, new_oid) && (old_mode == new_mode))
|
||||
return;
|
||||
|
||||
if (opt->flags.reverse_diff) {
|
||||
|
|
|
@ -116,7 +116,7 @@ static int use_wt_file(const char *workdir, const char *name,
|
|||
if (is_null_oid(oid)) {
|
||||
oidcpy(oid, &wt_oid);
|
||||
use = 1;
|
||||
} else if (!oidcmp(oid, &wt_oid))
|
||||
} else if (oideq(oid, &wt_oid))
|
||||
use = 1;
|
||||
}
|
||||
}
|
||||
|
@ -438,7 +438,7 @@ static int run_dir_diff(const char *extcmd, int symlinks, const char *prefix,
|
|||
strbuf_reset(&buf);
|
||||
strbuf_addf(&buf, "Subproject commit %s",
|
||||
oid_to_hex(&roid));
|
||||
if (!oidcmp(&loid, &roid))
|
||||
if (oideq(&loid, &roid))
|
||||
strbuf_addstr(&buf, "-dirty");
|
||||
add_left_or_right(&submodules, dst_path, buf.buf, 1);
|
||||
continue;
|
||||
|
|
|
@ -384,7 +384,7 @@ static void show_filemodify(struct diff_queue_struct *q,
|
|||
string_list_insert(changed, spec->path);
|
||||
putchar('\n');
|
||||
|
||||
if (!oidcmp(&ospec->oid, &spec->oid) &&
|
||||
if (oideq(&ospec->oid, &spec->oid) &&
|
||||
ospec->mode == spec->mode)
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -239,7 +239,7 @@ static int will_fetch(struct ref **head, const unsigned char *sha1)
|
|||
{
|
||||
struct ref *rm = *head;
|
||||
while (rm) {
|
||||
if (!hashcmp(rm->old_oid.hash, sha1))
|
||||
if (hasheq(rm->old_oid.hash, sha1))
|
||||
return 1;
|
||||
rm = rm->next;
|
||||
}
|
||||
|
@ -508,7 +508,7 @@ static void adjust_refcol_width(const struct ref *ref)
|
|||
int max, rlen, llen, len;
|
||||
|
||||
/* uptodate lines are only shown on high verbosity level */
|
||||
if (!verbosity && !oidcmp(&ref->peer_ref->old_oid, &ref->old_oid))
|
||||
if (!verbosity && oideq(&ref->peer_ref->old_oid, &ref->old_oid))
|
||||
return;
|
||||
|
||||
max = term_columns();
|
||||
|
@ -645,7 +645,7 @@ static int update_local_ref(struct ref *ref,
|
|||
if (type < 0)
|
||||
die(_("object %s not found"), oid_to_hex(&ref->new_oid));
|
||||
|
||||
if (!oidcmp(&ref->old_oid, &ref->new_oid)) {
|
||||
if (oideq(&ref->old_oid, &ref->new_oid)) {
|
||||
if (verbosity > 0)
|
||||
format_display(display, '=', _("[up to date]"), NULL,
|
||||
remote, pretty_ref, summary_width);
|
||||
|
|
|
@ -79,9 +79,9 @@ static struct merge_parent *find_merge_parent(struct merge_parents *table,
|
|||
{
|
||||
int i;
|
||||
for (i = 0; i < table->nr; i++) {
|
||||
if (given && oidcmp(&table->item[i].given, given))
|
||||
if (given && !oideq(&table->item[i].given, given))
|
||||
continue;
|
||||
if (commit && oidcmp(&table->item[i].commit, commit))
|
||||
if (commit && !oideq(&table->item[i].commit, commit))
|
||||
continue;
|
||||
return &table->item[i];
|
||||
}
|
||||
|
@ -583,7 +583,7 @@ static void find_merge_parents(struct merge_parents *result,
|
|||
while (parents) {
|
||||
struct commit *cmit = pop_commit(&parents);
|
||||
for (i = 0; i < result->nr; i++)
|
||||
if (!oidcmp(&result->item[i].commit, &cmit->object.oid))
|
||||
if (oideq(&result->item[i].commit, &cmit->object.oid))
|
||||
result->item[i].used = 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -719,9 +719,9 @@ static void find_ref_delta_children(const struct object_id *oid,
|
|||
*last_index = -1;
|
||||
return;
|
||||
}
|
||||
while (first > 0 && !oidcmp(&ref_deltas[first - 1].oid, oid))
|
||||
while (first > 0 && oideq(&ref_deltas[first - 1].oid, oid))
|
||||
--first;
|
||||
while (last < end && !oidcmp(&ref_deltas[last + 1].oid, oid))
|
||||
while (last < end && oideq(&ref_deltas[last + 1].oid, oid))
|
||||
++last;
|
||||
*first_index = first;
|
||||
*last_index = last;
|
||||
|
@ -1166,7 +1166,7 @@ static void parse_pack_objects(unsigned char *hash)
|
|||
/* Check pack integrity */
|
||||
flush();
|
||||
the_hash_algo->final_fn(hash, &input_ctx);
|
||||
if (hashcmp(fill(the_hash_algo->rawsz), hash))
|
||||
if (!hasheq(fill(the_hash_algo->rawsz), hash))
|
||||
die(_("pack is corrupted (SHA1 mismatch)"));
|
||||
use(the_hash_algo->rawsz);
|
||||
|
||||
|
@ -1280,7 +1280,7 @@ static void conclude_pack(int fix_thin_pack, const char *curr_pack, unsigned cha
|
|||
fixup_pack_header_footer(output_fd, pack_hash,
|
||||
curr_pack, nr_objects,
|
||||
read_hash, consumed_bytes-the_hash_algo->rawsz);
|
||||
if (hashcmp(read_hash, tail_hash) != 0)
|
||||
if (!hasheq(read_hash, tail_hash))
|
||||
die(_("Unexpected tail checksum for %s "
|
||||
"(disk corruption?)"), curr_pack);
|
||||
}
|
||||
|
|
|
@ -995,7 +995,7 @@ static char *find_branch_name(struct rev_info *rev)
|
|||
tip_oid = &rev->cmdline.rev[positive].item->oid;
|
||||
if (dwim_ref(ref, strlen(ref), &branch_oid, &full_ref) &&
|
||||
skip_prefix(full_ref, "refs/heads/", &v) &&
|
||||
!oidcmp(tip_oid, &branch_oid))
|
||||
oideq(tip_oid, &branch_oid))
|
||||
branch = xstrdup(v);
|
||||
free(full_ref);
|
||||
return branch;
|
||||
|
@ -1764,7 +1764,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
|
|||
/* Don't say anything if head and upstream are the same. */
|
||||
if (rev.pending.nr == 2) {
|
||||
struct object_array_entry *o = rev.pending.objects;
|
||||
if (oidcmp(&o[0].item->oid, &o[1].item->oid) == 0)
|
||||
if (oideq(&o[0].item->oid, &o[1].item->oid))
|
||||
goto done;
|
||||
}
|
||||
get_patch_ids(&rev, &ids);
|
||||
|
@ -2049,7 +2049,7 @@ int cmd_cherry(int argc, const char **argv, const char *prefix)
|
|||
/* Don't say anything if head and upstream are the same. */
|
||||
if (revs.pending.nr == 2) {
|
||||
struct object_array_entry *o = revs.pending.objects;
|
||||
if (oidcmp(&o[0].item->oid, &o[1].item->oid) == 0)
|
||||
if (oideq(&o[0].item->oid, &o[1].item->oid))
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -155,7 +155,7 @@ static int same_entry(struct name_entry *a, struct name_entry *b)
|
|||
{
|
||||
return a->oid &&
|
||||
b->oid &&
|
||||
!oidcmp(a->oid, b->oid) &&
|
||||
oideq(a->oid, b->oid) &&
|
||||
a->mode == b->mode;
|
||||
}
|
||||
|
||||
|
|
|
@ -1190,7 +1190,7 @@ static int merging_a_throwaway_tag(struct commit *commit)
|
|||
tag_ref = xstrfmt("refs/tags/%s",
|
||||
((struct tag *)merge_remote_util(commit)->obj)->tag);
|
||||
if (!read_ref(tag_ref, &oid) &&
|
||||
!oidcmp(&oid, &merge_remote_util(commit)->obj->oid))
|
||||
oideq(&oid, &merge_remote_util(commit)->obj->oid))
|
||||
is_throwaway_tag = 0;
|
||||
else
|
||||
is_throwaway_tag = 1;
|
||||
|
@ -1449,7 +1449,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
|||
goto done;
|
||||
} else if (fast_forward != FF_NO && !remoteheads->next &&
|
||||
!common->next &&
|
||||
!oidcmp(&common->item->object.oid, &head_commit->object.oid)) {
|
||||
oideq(&common->item->object.oid, &head_commit->object.oid)) {
|
||||
/* Again the most common case of merging one remote. */
|
||||
struct strbuf msg = STRBUF_INIT;
|
||||
struct commit *commit;
|
||||
|
@ -1522,7 +1522,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
|||
* HEAD^^" would be missed.
|
||||
*/
|
||||
common_one = get_merge_bases(head_commit, j->item);
|
||||
if (oidcmp(&common_one->item->object.oid, &j->item->object.oid)) {
|
||||
if (!oideq(&common_one->item->object.oid, &j->item->object.oid)) {
|
||||
up_to_date = 0;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -1248,7 +1248,7 @@ static struct pbase_tree_cache *pbase_tree_get(const struct object_id *oid)
|
|||
*/
|
||||
for (neigh = 0; neigh < 8; neigh++) {
|
||||
ent = pbase_tree_cache[my_ix];
|
||||
if (ent && !oidcmp(&ent->oid, oid)) {
|
||||
if (ent && oideq(&ent->oid, oid)) {
|
||||
ent->ref++;
|
||||
return ent;
|
||||
}
|
||||
|
@ -1430,7 +1430,7 @@ static void add_preferred_base(struct object_id *oid)
|
|||
return;
|
||||
|
||||
for (it = pbase_tree; it; it = it->next) {
|
||||
if (!oidcmp(&it->pcache.oid, &tree_oid)) {
|
||||
if (oideq(&it->pcache.oid, &tree_oid)) {
|
||||
free(data);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -800,7 +800,7 @@ static int run_rebase(const struct object_id *curr_head,
|
|||
struct argv_array args = ARGV_ARRAY_INIT;
|
||||
|
||||
if (!get_octopus_merge_base(&oct_merge_base, curr_head, merge_head, fork_point))
|
||||
if (!is_null_oid(fork_point) && !oidcmp(&oct_merge_base, fork_point))
|
||||
if (!is_null_oid(fork_point) && oideq(&oct_merge_base, fork_point))
|
||||
fork_point = NULL;
|
||||
|
||||
argv_array_push(&args, "rebase");
|
||||
|
@ -903,7 +903,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
|
|||
oidclr(&curr_head);
|
||||
|
||||
if (!is_null_oid(&orig_head) && !is_null_oid(&curr_head) &&
|
||||
oidcmp(&orig_head, &curr_head)) {
|
||||
!oideq(&orig_head, &curr_head)) {
|
||||
/*
|
||||
* The fetch involved updating the current branch.
|
||||
*
|
||||
|
|
|
@ -1223,8 +1223,8 @@ static void check_aliased_update(struct command *cmd, struct string_list *list)
|
|||
|
||||
dst_cmd = (struct command *) item->util;
|
||||
|
||||
if (!oidcmp(&cmd->old_oid, &dst_cmd->old_oid) &&
|
||||
!oidcmp(&cmd->new_oid, &dst_cmd->new_oid))
|
||||
if (oideq(&cmd->old_oid, &dst_cmd->old_oid) &&
|
||||
oideq(&cmd->new_oid, &dst_cmd->new_oid))
|
||||
return;
|
||||
|
||||
dst_cmd->skip_update = 1;
|
||||
|
|
|
@ -413,7 +413,7 @@ static int get_push_ref_states(const struct ref *remote_refs,
|
|||
|
||||
if (is_null_oid(&ref->new_oid)) {
|
||||
info->status = PUSH_STATUS_DELETE;
|
||||
} else if (!oidcmp(&ref->old_oid, &ref->new_oid))
|
||||
} else if (oideq(&ref->old_oid, &ref->new_oid))
|
||||
info->status = PUSH_STATUS_UPTODATE;
|
||||
else if (is_null_oid(&ref->old_oid))
|
||||
info->status = PUSH_STATUS_CREATE;
|
||||
|
|
|
@ -343,7 +343,7 @@ static int edit_and_replace(const char *object_ref, int force, int raw)
|
|||
}
|
||||
free(tmpfile);
|
||||
|
||||
if (!oidcmp(&old_oid, &new_oid))
|
||||
if (oideq(&old_oid, &new_oid))
|
||||
return error(_("new object is the same as the old one: '%s'"), oid_to_hex(&old_oid));
|
||||
|
||||
return replace_object_oid(object_ref, &old_oid, "replacement", &new_oid, force);
|
||||
|
@ -414,7 +414,7 @@ static int check_one_mergetag(struct commit *commit,
|
|||
if (get_oid(mergetag_data->argv[i], &oid) < 0)
|
||||
return error(_("not a valid object name: '%s'"),
|
||||
mergetag_data->argv[i]);
|
||||
if (!oidcmp(&tag->tagged->oid, &oid))
|
||||
if (oideq(&tag->tagged->oid, &oid))
|
||||
return 0; /* found */
|
||||
}
|
||||
|
||||
|
@ -474,7 +474,7 @@ static int create_graft(int argc, const char **argv, int force, int gentle)
|
|||
|
||||
strbuf_release(&buf);
|
||||
|
||||
if (!oidcmp(&old_oid, &new_oid)) {
|
||||
if (oideq(&old_oid, &new_oid)) {
|
||||
if (gentle) {
|
||||
warning(_("graft for '%s' unnecessary"), oid_to_hex(&old_oid));
|
||||
return 0;
|
||||
|
|
|
@ -180,7 +180,7 @@ static int check_local_mod(struct object_id *head, int index_only)
|
|||
if (no_head
|
||||
|| get_tree_entry(head, name, &oid, &mode)
|
||||
|| ce->ce_mode != create_ce_mode(mode)
|
||||
|| oidcmp(&ce->oid, &oid))
|
||||
|| !oideq(&ce->oid, &oid))
|
||||
staged_changes = 1;
|
||||
|
||||
/*
|
||||
|
|
|
@ -412,7 +412,7 @@ static int append_head_ref(const char *refname, const struct object_id *oid,
|
|||
/* If both heads/foo and tags/foo exists, get_sha1 would
|
||||
* get confused.
|
||||
*/
|
||||
if (get_oid(refname + ofs, &tmp) || oidcmp(&tmp, oid))
|
||||
if (get_oid(refname + ofs, &tmp) || !oideq(&tmp, oid))
|
||||
ofs = 5;
|
||||
return append_ref(refname + ofs, oid, 0);
|
||||
}
|
||||
|
@ -427,7 +427,7 @@ static int append_remote_ref(const char *refname, const struct object_id *oid,
|
|||
/* If both heads/foo and tags/foo exists, get_sha1 would
|
||||
* get confused.
|
||||
*/
|
||||
if (get_oid(refname + ofs, &tmp) || oidcmp(&tmp, oid))
|
||||
if (get_oid(refname + ofs, &tmp) || !oideq(&tmp, oid))
|
||||
ofs = 5;
|
||||
return append_ref(refname + ofs, oid, 0);
|
||||
}
|
||||
|
@ -485,7 +485,7 @@ static void snarf_refs(int head, int remotes)
|
|||
static int rev_is_head(const char *head, const char *name,
|
||||
unsigned char *head_sha1, unsigned char *sha1)
|
||||
{
|
||||
if (!head || (head_sha1 && sha1 && hashcmp(head_sha1, sha1)))
|
||||
if (!head || (head_sha1 && sha1 && !hasheq(head_sha1, sha1)))
|
||||
return 0;
|
||||
skip_prefix(head, "refs/heads/", &head);
|
||||
if (!skip_prefix(name, "refs/heads/", &name))
|
||||
|
|
|
@ -559,7 +559,7 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
|
|||
ref_transaction_commit(transaction, &err))
|
||||
die("%s", err.buf);
|
||||
ref_transaction_free(transaction);
|
||||
if (force && !is_null_oid(&prev) && oidcmp(&prev, &object))
|
||||
if (force && !is_null_oid(&prev) && !oideq(&prev, &object))
|
||||
printf(_("Updated tag '%s' (was %s)\n"), tag,
|
||||
find_unique_abbrev(&prev, DEFAULT_ABBREV));
|
||||
|
||||
|
|
|
@ -303,7 +303,7 @@ static void added_object(unsigned nr, enum object_type type,
|
|||
struct delta_info *info;
|
||||
|
||||
while ((info = *p) != NULL) {
|
||||
if (!oidcmp(&info->base_oid, &obj_list[nr].oid) ||
|
||||
if (oideq(&info->base_oid, &obj_list[nr].oid) ||
|
||||
info->base_offset == obj_list[nr].offset) {
|
||||
*p = info->next;
|
||||
p = &delta_list;
|
||||
|
@ -579,7 +579,7 @@ int cmd_unpack_objects(int argc, const char **argv, const char *prefix)
|
|||
if (fsck_finish(&fsck_options))
|
||||
die(_("fsck error in pack objects"));
|
||||
}
|
||||
if (hashcmp(fill(the_hash_algo->rawsz), oid.hash))
|
||||
if (!hasheq(fill(the_hash_algo->rawsz), oid.hash))
|
||||
die("final sha1 did not match");
|
||||
use(the_hash_algo->rawsz);
|
||||
|
||||
|
|
|
@ -669,7 +669,7 @@ static int unresolve_one(const char *path)
|
|||
ret = -1;
|
||||
goto free_return;
|
||||
}
|
||||
if (!oidcmp(&ce_2->oid, &ce_3->oid) &&
|
||||
if (oideq(&ce_2->oid, &ce_3->oid) &&
|
||||
ce_2->ce_mode == ce_3->ce_mode) {
|
||||
fprintf(stderr, "%s: identical in both, skipping.\n",
|
||||
path);
|
||||
|
@ -754,7 +754,7 @@ static int do_reupdate(int ac, const char **av,
|
|||
old = read_one_ent(NULL, &head_oid,
|
||||
ce->name, ce_namelen(ce), 0);
|
||||
if (old && ce->ce_mode == old->ce_mode &&
|
||||
!oidcmp(&ce->oid, &old->oid)) {
|
||||
oideq(&ce->oid, &old->oid)) {
|
||||
discard_cache_entry(old);
|
||||
continue; /* unchanged */
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@ static int already_written(struct bulk_checkin_state *state, struct object_id *o
|
|||
|
||||
/* Might want to keep the list sorted */
|
||||
for (i = 0; i < state->nr_written; i++)
|
||||
if (!oidcmp(&state->written[i]->oid, oid))
|
||||
if (oideq(&state->written[i]->oid, oid))
|
||||
return 1;
|
||||
|
||||
/* This is a new object we need to keep */
|
||||
|
|
2
bundle.c
2
bundle.c
|
@ -369,7 +369,7 @@ static int write_bundle_refs(int bundle_fd, struct rev_info *revs)
|
|||
* commit that is referenced by the tag, and not the tag
|
||||
* itself.
|
||||
*/
|
||||
if (oidcmp(&oid, &e->item->oid)) {
|
||||
if (!oideq(&oid, &e->item->oid)) {
|
||||
/*
|
||||
* Is this the positive end of a range expressed
|
||||
* in terms of a tag (e.g. v2.0 from the range
|
||||
|
|
|
@ -717,7 +717,7 @@ int cache_tree_matches_traversal(struct cache_tree *root,
|
|||
|
||||
it = find_cache_tree_from_traversal(root, info);
|
||||
it = cache_tree_find(it, ent->path);
|
||||
if (it && it->entry_count > 0 && !oidcmp(ent->oid, &it->oid))
|
||||
if (it && it->entry_count > 0 && oideq(ent->oid, &it->oid))
|
||||
return it->entry_count;
|
||||
return 0;
|
||||
}
|
||||
|
|
22
cache.h
22
cache.h
|
@ -1041,14 +1041,24 @@ static inline int oidcmp(const struct object_id *oid1, const struct object_id *o
|
|||
return hashcmp(oid1->hash, oid2->hash);
|
||||
}
|
||||
|
||||
static inline int hasheq(const unsigned char *sha1, const unsigned char *sha2)
|
||||
{
|
||||
return !hashcmp(sha1, sha2);
|
||||
}
|
||||
|
||||
static inline int oideq(const struct object_id *oid1, const struct object_id *oid2)
|
||||
{
|
||||
return hasheq(oid1->hash, oid2->hash);
|
||||
}
|
||||
|
||||
static inline int is_null_sha1(const unsigned char *sha1)
|
||||
{
|
||||
return !hashcmp(sha1, null_sha1);
|
||||
return hasheq(sha1, null_sha1);
|
||||
}
|
||||
|
||||
static inline int is_null_oid(const struct object_id *oid)
|
||||
{
|
||||
return !hashcmp(oid->hash, null_sha1);
|
||||
return hasheq(oid->hash, null_sha1);
|
||||
}
|
||||
|
||||
static inline void hashcpy(unsigned char *sha_dst, const unsigned char *sha_src)
|
||||
|
@ -1085,22 +1095,22 @@ static inline void oidread(struct object_id *oid, const unsigned char *hash)
|
|||
|
||||
static inline int is_empty_blob_sha1(const unsigned char *sha1)
|
||||
{
|
||||
return !hashcmp(sha1, the_hash_algo->empty_blob->hash);
|
||||
return hasheq(sha1, the_hash_algo->empty_blob->hash);
|
||||
}
|
||||
|
||||
static inline int is_empty_blob_oid(const struct object_id *oid)
|
||||
{
|
||||
return !oidcmp(oid, the_hash_algo->empty_blob);
|
||||
return oideq(oid, the_hash_algo->empty_blob);
|
||||
}
|
||||
|
||||
static inline int is_empty_tree_sha1(const unsigned char *sha1)
|
||||
{
|
||||
return !hashcmp(sha1, the_hash_algo->empty_tree->hash);
|
||||
return hasheq(sha1, the_hash_algo->empty_tree->hash);
|
||||
}
|
||||
|
||||
static inline int is_empty_tree_oid(const struct object_id *oid)
|
||||
{
|
||||
return !oidcmp(oid, the_hash_algo->empty_tree);
|
||||
return oideq(oid, the_hash_algo->empty_tree);
|
||||
}
|
||||
|
||||
const char *empty_tree_oid_hex(void);
|
||||
|
|
|
@ -1138,8 +1138,8 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
|
|||
for (i = 0; i < num_parent; i++) {
|
||||
int j;
|
||||
for (j = 0; j < i; j++) {
|
||||
if (!oidcmp(&elem->parent[i].oid,
|
||||
&elem->parent[j].oid)) {
|
||||
if (oideq(&elem->parent[i].oid,
|
||||
&elem->parent[j].oid)) {
|
||||
reuse_combine_diff(sline, cnt, i, j);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -783,7 +783,7 @@ void write_commit_graph(const char *obj_dir,
|
|||
|
||||
count_distinct = 1;
|
||||
for (i = 1; i < oids.nr; i++) {
|
||||
if (oidcmp(&oids.list[i-1], &oids.list[i]))
|
||||
if (!oideq(&oids.list[i - 1], &oids.list[i]))
|
||||
count_distinct++;
|
||||
}
|
||||
|
||||
|
@ -797,7 +797,7 @@ void write_commit_graph(const char *obj_dir,
|
|||
num_extra_edges = 0;
|
||||
for (i = 0; i < oids.nr; i++) {
|
||||
int num_parents = 0;
|
||||
if (i > 0 && !oidcmp(&oids.list[i-1], &oids.list[i]))
|
||||
if (i > 0 && oideq(&oids.list[i - 1], &oids.list[i]))
|
||||
continue;
|
||||
|
||||
commits.list[commits.nr] = lookup_commit(the_repository, &oids.list[i]);
|
||||
|
@ -918,7 +918,7 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g)
|
|||
f = hashfd(devnull, NULL);
|
||||
hashwrite(f, g->data, g->data_len - g->hash_len);
|
||||
finalize_hashfile(f, checksum.hash, CSUM_CLOSE);
|
||||
if (hashcmp(checksum.hash, g->data + g->data_len - g->hash_len)) {
|
||||
if (!hasheq(checksum.hash, g->data + g->data_len - g->hash_len)) {
|
||||
graph_report(_("the commit-graph file has incorrect checksum and is likely corrupt"));
|
||||
verify_commit_graph_error = VERIFY_COMMIT_GRAPH_ERROR_HASH;
|
||||
}
|
||||
|
@ -978,7 +978,7 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g)
|
|||
continue;
|
||||
}
|
||||
|
||||
if (oidcmp(&get_commit_tree_in_graph_one(g, graph_commit)->object.oid,
|
||||
if (!oideq(&get_commit_tree_in_graph_one(g, graph_commit)->object.oid,
|
||||
get_commit_tree_oid(odb_commit)))
|
||||
graph_report("root tree OID for commit %s in commit-graph is %s != %s",
|
||||
oid_to_hex(&cur_oid),
|
||||
|
@ -995,7 +995,7 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g)
|
|||
break;
|
||||
}
|
||||
|
||||
if (oidcmp(&graph_parents->item->object.oid, &odb_parents->item->object.oid))
|
||||
if (!oideq(&graph_parents->item->object.oid, &odb_parents->item->object.oid))
|
||||
graph_report("commit-graph parent for %s is %s != %s",
|
||||
oid_to_hex(&cur_oid),
|
||||
oid_to_hex(&graph_parents->item->object.oid),
|
||||
|
|
2
commit.c
2
commit.c
|
@ -46,7 +46,7 @@ struct commit *lookup_commit_or_die(const struct object_id *oid, const char *ref
|
|||
struct commit *c = lookup_commit_reference(the_repository, oid);
|
||||
if (!c)
|
||||
die(_("could not parse %s"), ref_name);
|
||||
if (oidcmp(oid, &c->object.oid)) {
|
||||
if (!oideq(oid, &c->object.oid)) {
|
||||
warning(_("%s %s is not a commit!"),
|
||||
ref_name, oid_to_hex(oid));
|
||||
}
|
||||
|
|
|
@ -224,7 +224,7 @@ static int process_dummy_ref(const char *line)
|
|||
return 0;
|
||||
name++;
|
||||
|
||||
return !oidcmp(&null_oid, &oid) && !strcmp(name, "capabilities^{}");
|
||||
return oideq(&null_oid, &oid) && !strcmp(name, "capabilities^{}");
|
||||
}
|
||||
|
||||
static void check_no_capabilities(const char *line, int len)
|
||||
|
|
|
@ -15,10 +15,10 @@ expression c;
|
|||
identifier f !~ "^(get_commit_tree|get_commit_tree_in_graph_one|load_tree_for_commit)$";
|
||||
expression c;
|
||||
@@
|
||||
f(...) {...
|
||||
f(...) {<...
|
||||
- c->maybe_tree
|
||||
+ get_commit_tree(c)
|
||||
...}
|
||||
...>}
|
||||
|
||||
@@
|
||||
expression c;
|
||||
|
|
|
@ -20,10 +20,10 @@ expression E1;
|
|||
identifier f != oid_to_hex;
|
||||
expression E1;
|
||||
@@
|
||||
f(...) {...
|
||||
f(...) {<...
|
||||
- sha1_to_hex(E1->hash)
|
||||
+ oid_to_hex(E1)
|
||||
...}
|
||||
...>}
|
||||
|
||||
@@
|
||||
expression E1, E2;
|
||||
|
@ -35,10 +35,10 @@ expression E1, E2;
|
|||
identifier f != oid_to_hex_r;
|
||||
expression E1, E2;
|
||||
@@
|
||||
f(...) {...
|
||||
f(...) {<...
|
||||
- sha1_to_hex_r(E1, E2->hash)
|
||||
+ oid_to_hex_r(E1, E2)
|
||||
...}
|
||||
...>}
|
||||
|
||||
@@
|
||||
expression E1;
|
||||
|
@ -50,10 +50,10 @@ expression E1;
|
|||
identifier f != oidclr;
|
||||
expression E1;
|
||||
@@
|
||||
f(...) {...
|
||||
f(...) {<...
|
||||
- hashclr(E1->hash)
|
||||
+ oidclr(E1)
|
||||
...}
|
||||
...>}
|
||||
|
||||
@@
|
||||
expression E1, E2;
|
||||
|
@ -65,10 +65,10 @@ expression E1, E2;
|
|||
identifier f != oidcmp;
|
||||
expression E1, E2;
|
||||
@@
|
||||
f(...) {...
|
||||
f(...) {<...
|
||||
- hashcmp(E1->hash, E2->hash)
|
||||
+ oidcmp(E1, E2)
|
||||
...}
|
||||
...>}
|
||||
|
||||
@@
|
||||
expression E1, E2;
|
||||
|
@ -92,10 +92,10 @@ expression E1, E2;
|
|||
identifier f != oidcpy;
|
||||
expression E1, E2;
|
||||
@@
|
||||
f(...) {...
|
||||
f(...) {<...
|
||||
- hashcpy(E1->hash, E2->hash)
|
||||
+ oidcpy(E1, E2)
|
||||
...}
|
||||
...>}
|
||||
|
||||
@@
|
||||
expression E1, E2;
|
||||
|
@ -108,3 +108,33 @@ expression E1, E2;
|
|||
@@
|
||||
- hashcpy(E1.hash, E2->hash)
|
||||
+ oidcpy(&E1, E2)
|
||||
|
||||
@@
|
||||
expression E1, E2;
|
||||
@@
|
||||
- oidcmp(E1, E2) == 0
|
||||
+ oideq(E1, E2)
|
||||
|
||||
@@
|
||||
identifier f != hasheq;
|
||||
expression E1, E2;
|
||||
@@
|
||||
f(...) {<...
|
||||
- hashcmp(E1, E2) == 0
|
||||
+ hasheq(E1, E2)
|
||||
...>}
|
||||
|
||||
@@
|
||||
expression E1, E2;
|
||||
@@
|
||||
- oidcmp(E1, E2) != 0
|
||||
+ !oideq(E1, E2)
|
||||
|
||||
@@
|
||||
identifier f != hasheq;
|
||||
expression E1, E2;
|
||||
@@
|
||||
f(...) {<...
|
||||
- hashcmp(E1, E2) != 0
|
||||
+ !hasheq(E1, E2)
|
||||
...>}
|
||||
|
|
|
@ -342,7 +342,7 @@ static int show_modified(struct rev_info *revs,
|
|||
}
|
||||
|
||||
if (revs->combine_merges && !cached &&
|
||||
(oidcmp(oid, &old_entry->oid) || oidcmp(&old_entry->oid, &new_entry->oid))) {
|
||||
(!oideq(oid, &old_entry->oid) || !oideq(&old_entry->oid, &new_entry->oid))) {
|
||||
struct combine_diff_path *p;
|
||||
int pathlen = ce_namelen(new_entry);
|
||||
|
||||
|
@ -366,7 +366,7 @@ static int show_modified(struct rev_info *revs,
|
|||
}
|
||||
|
||||
oldmode = old_entry->ce_mode;
|
||||
if (mode == oldmode && !oidcmp(oid, &old_entry->oid) && !dirty_submodule &&
|
||||
if (mode == oldmode && oideq(oid, &old_entry->oid) && !dirty_submodule &&
|
||||
!revs->diffopt.flags.find_copies_harder)
|
||||
return 0;
|
||||
|
||||
|
|
23
diff.c
23
diff.c
|
@ -2948,16 +2948,11 @@ static void show_dirstat(struct diff_options *options)
|
|||
struct diff_filepair *p = q->queue[i];
|
||||
const char *name;
|
||||
unsigned long copied, added, damage;
|
||||
int content_changed;
|
||||
|
||||
name = p->two->path ? p->two->path : p->one->path;
|
||||
|
||||
if (p->one->oid_valid && p->two->oid_valid)
|
||||
content_changed = oidcmp(&p->one->oid, &p->two->oid);
|
||||
else
|
||||
content_changed = 1;
|
||||
|
||||
if (!content_changed) {
|
||||
if (p->one->oid_valid && p->two->oid_valid &&
|
||||
oideq(&p->one->oid, &p->two->oid)) {
|
||||
/*
|
||||
* The SHA1 has not changed, so pre-/post-content is
|
||||
* identical. We can therefore skip looking at the
|
||||
|
@ -3004,7 +2999,7 @@ static void show_dirstat(struct diff_options *options)
|
|||
* made to the preimage.
|
||||
* If the resulting damage is zero, we know that
|
||||
* diffcore_count_changes() considers the two entries to
|
||||
* be identical, but since content_changed is true, we
|
||||
* be identical, but since the oid changed, we
|
||||
* know that there must have been _some_ kind of change,
|
||||
* so we force all entries to have damage > 0.
|
||||
*/
|
||||
|
@ -3419,7 +3414,7 @@ static void builtin_diff(const char *name_a,
|
|||
if (!one->data && !two->data &&
|
||||
S_ISREG(one->mode) && S_ISREG(two->mode) &&
|
||||
!o->flags.binary) {
|
||||
if (!oidcmp(&one->oid, &two->oid)) {
|
||||
if (oideq(&one->oid, &two->oid)) {
|
||||
if (must_show_header)
|
||||
emit_diff_symbol(o, DIFF_SYMBOL_HEADER,
|
||||
header.buf, header.len,
|
||||
|
@ -3584,7 +3579,7 @@ static void builtin_diffstat(const char *name_a, const char *name_b,
|
|||
return;
|
||||
}
|
||||
|
||||
same_contents = !oidcmp(&one->oid, &two->oid);
|
||||
same_contents = oideq(&one->oid, &two->oid);
|
||||
|
||||
if (diff_filespec_is_binary(one) || diff_filespec_is_binary(two)) {
|
||||
data->is_binary = 1;
|
||||
|
@ -3780,7 +3775,7 @@ static int reuse_worktree_file(const char *name, const struct object_id *oid, in
|
|||
* This is not the sha1 we are looking for, or
|
||||
* unreusable because it is not a regular file.
|
||||
*/
|
||||
if (oidcmp(oid, &ce->oid) || !S_ISREG(ce->ce_mode))
|
||||
if (!oideq(oid, &ce->oid) || !S_ISREG(ce->ce_mode))
|
||||
return 0;
|
||||
|
||||
/*
|
||||
|
@ -4185,7 +4180,7 @@ static void fill_metainfo(struct strbuf *msg,
|
|||
default:
|
||||
*must_show_header = 0;
|
||||
}
|
||||
if (one && two && oidcmp(&one->oid, &two->oid)) {
|
||||
if (one && two && !oideq(&one->oid, &two->oid)) {
|
||||
const unsigned hexsz = the_hash_algo->hexsz;
|
||||
int abbrev = o->flags.full_index ? hexsz : DEFAULT_ABBREV;
|
||||
|
||||
|
@ -5347,7 +5342,7 @@ int diff_unmodified_pair(struct diff_filepair *p)
|
|||
* dealing with a change.
|
||||
*/
|
||||
if (one->oid_valid && two->oid_valid &&
|
||||
!oidcmp(&one->oid, &two->oid) &&
|
||||
oideq(&one->oid, &two->oid) &&
|
||||
!one->dirty_submodule && !two->dirty_submodule)
|
||||
return 1; /* no change */
|
||||
if (!one->oid_valid && !two->oid_valid)
|
||||
|
@ -5481,7 +5476,7 @@ static void diff_resolve_rename_copy(void)
|
|||
else
|
||||
p->status = DIFF_STATUS_RENAMED;
|
||||
}
|
||||
else if (oidcmp(&p->one->oid, &p->two->oid) ||
|
||||
else if (!oideq(&p->one->oid, &p->two->oid) ||
|
||||
p->one->mode != p->two->mode ||
|
||||
p->one->dirty_submodule ||
|
||||
p->two->dirty_submodule ||
|
||||
|
|
|
@ -58,7 +58,7 @@ static int should_break(struct diff_filespec *src,
|
|||
}
|
||||
|
||||
if (src->oid_valid && dst->oid_valid &&
|
||||
!oidcmp(&src->oid, &dst->oid))
|
||||
oideq(&src->oid, &dst->oid))
|
||||
return 0; /* they are the same */
|
||||
|
||||
if (diff_populate_filespec(src, 0) || diff_populate_filespec(dst, 0))
|
||||
|
|
|
@ -286,7 +286,7 @@ static int find_identical_files(struct hashmap *srcs,
|
|||
struct diff_filespec *source = p->filespec;
|
||||
|
||||
/* False hash collision? */
|
||||
if (oidcmp(&source->oid, &target->oid))
|
||||
if (!oideq(&source->oid, &target->oid))
|
||||
continue;
|
||||
/* Non-regular files? If so, the modes must match! */
|
||||
if (!S_ISREG(source->mode) || !S_ISREG(target->mode)) {
|
||||
|
|
6
dir.c
6
dir.c
|
@ -1282,7 +1282,7 @@ static void prep_exclude(struct dir_struct *dir,
|
|||
* order, though, if you do that.
|
||||
*/
|
||||
if (untracked &&
|
||||
oidcmp(&oid_stat.oid, &untracked->exclude_oid)) {
|
||||
!oideq(&oid_stat.oid, &untracked->exclude_oid)) {
|
||||
invalidate_gitignore(dir->untracked, untracked);
|
||||
oidcpy(&untracked->exclude_oid, &oid_stat.oid);
|
||||
}
|
||||
|
@ -2248,12 +2248,12 @@ static struct untracked_cache_dir *validate_untracked_cache(struct dir_struct *d
|
|||
|
||||
/* Validate $GIT_DIR/info/exclude and core.excludesfile */
|
||||
root = dir->untracked->root;
|
||||
if (oidcmp(&dir->ss_info_exclude.oid,
|
||||
if (!oideq(&dir->ss_info_exclude.oid,
|
||||
&dir->untracked->ss_info_exclude.oid)) {
|
||||
invalidate_gitignore(dir->untracked, root);
|
||||
dir->untracked->ss_info_exclude = dir->ss_info_exclude;
|
||||
}
|
||||
if (oidcmp(&dir->ss_excludes_file.oid,
|
||||
if (!oideq(&dir->ss_excludes_file.oid,
|
||||
&dir->untracked->ss_excludes_file.oid)) {
|
||||
invalidate_gitignore(dir->untracked, root);
|
||||
dir->untracked->ss_excludes_file = dir->ss_excludes_file;
|
||||
|
|
|
@ -573,7 +573,7 @@ static struct object_entry *find_object(struct object_id *oid)
|
|||
unsigned int h = oid->hash[0] << 8 | oid->hash[1];
|
||||
struct object_entry *e;
|
||||
for (e = object_table[h]; e; e = e->next)
|
||||
if (!oidcmp(oid, &e->idx.oid))
|
||||
if (oideq(oid, &e->idx.oid))
|
||||
return e;
|
||||
return NULL;
|
||||
}
|
||||
|
@ -584,7 +584,7 @@ static struct object_entry *insert_object(struct object_id *oid)
|
|||
struct object_entry *e = object_table[h];
|
||||
|
||||
while (e) {
|
||||
if (!oidcmp(oid, &e->idx.oid))
|
||||
if (oideq(oid, &e->idx.oid))
|
||||
return e;
|
||||
e = e->next;
|
||||
}
|
||||
|
@ -1534,7 +1534,7 @@ static int tree_content_set(
|
|||
if (!*slash1) {
|
||||
if (!S_ISDIR(mode)
|
||||
&& e->versions[1].mode == mode
|
||||
&& !oidcmp(&e->versions[1].oid, oid))
|
||||
&& oideq(&e->versions[1].oid, oid))
|
||||
return 0;
|
||||
e->versions[1].mode = mode;
|
||||
oidcpy(&e->versions[1].oid, oid);
|
||||
|
@ -2650,7 +2650,7 @@ static int parse_from(struct branch *b)
|
|||
struct object_entry *oe = find_mark(idnum);
|
||||
if (oe->type != OBJ_COMMIT)
|
||||
die("Mark :%" PRIuMAX " not a commit", idnum);
|
||||
if (oidcmp(&b->oid, &oe->idx.oid)) {
|
||||
if (!oideq(&b->oid, &oe->idx.oid)) {
|
||||
oidcpy(&b->oid, &oe->idx.oid);
|
||||
if (oe->pack_id != MAX_PACK_ID) {
|
||||
unsigned long size;
|
||||
|
@ -2668,7 +2668,7 @@ static int parse_from(struct branch *b)
|
|||
else
|
||||
die("Invalid ref name or SHA1 expression: %s", from);
|
||||
|
||||
if (b->branch_tree.tree && oidcmp(&oid, &b->branch_tree.versions[1].oid)) {
|
||||
if (b->branch_tree.tree && !oideq(&oid, &b->branch_tree.versions[1].oid)) {
|
||||
release_tree_content_recursive(b->branch_tree.tree);
|
||||
b->branch_tree.tree = NULL;
|
||||
}
|
||||
|
|
|
@ -599,7 +599,7 @@ static void filter_refs(struct fetch_pack_args *args,
|
|||
continue;
|
||||
if (parse_oid_hex(ref->name, &oid, &p) ||
|
||||
*p != '\0' ||
|
||||
oidcmp(&oid, &ref->old_oid))
|
||||
!oideq(&oid, &ref->old_oid))
|
||||
continue;
|
||||
|
||||
if ((allow_unadvertised_object_request &
|
||||
|
|
|
@ -1859,7 +1859,7 @@ int cmd_main(int argc, const char **argv)
|
|||
continue;
|
||||
}
|
||||
|
||||
if (!oidcmp(&ref->old_oid, &ref->peer_ref->new_oid)) {
|
||||
if (oideq(&ref->old_oid, &ref->peer_ref->new_oid)) {
|
||||
if (push_verbosely)
|
||||
fprintf(stderr, "'%s': up-to-date\n", ref->name);
|
||||
if (helper_status)
|
||||
|
|
|
@ -483,7 +483,7 @@ static int fetch_object(struct walker *walker, unsigned char *sha1)
|
|||
|
||||
list_for_each(pos, head) {
|
||||
obj_req = list_entry(pos, struct object_request, node);
|
||||
if (!hashcmp(obj_req->oid.hash, sha1))
|
||||
if (hasheq(obj_req->oid.hash, sha1))
|
||||
break;
|
||||
}
|
||||
if (obj_req == NULL)
|
||||
|
@ -543,7 +543,7 @@ static int fetch_object(struct walker *walker, unsigned char *sha1)
|
|||
} else if (req->zret != Z_STREAM_END) {
|
||||
walker->corrupt_object_found++;
|
||||
ret = error("File %s (%s) corrupt", hex, req->url);
|
||||
} else if (hashcmp(obj_req->oid.hash, req->real_sha1)) {
|
||||
} else if (!hasheq(obj_req->oid.hash, req->real_sha1)) {
|
||||
ret = error("File %s has bad hash", hex);
|
||||
} else if (req->rename < 0) {
|
||||
struct strbuf buf = STRBUF_INIT;
|
||||
|
|
2
http.c
2
http.c
|
@ -2394,7 +2394,7 @@ int finish_http_object_request(struct http_object_request *freq)
|
|||
unlink_or_warn(freq->tmpfile.buf);
|
||||
return -1;
|
||||
}
|
||||
if (hashcmp(freq->sha1, freq->real_sha1)) {
|
||||
if (!hasheq(freq->sha1, freq->real_sha1)) {
|
||||
unlink_or_warn(freq->tmpfile.buf);
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -474,7 +474,7 @@ static int which_parent(const struct object_id *oid, const struct commit *commit
|
|||
const struct commit_list *parent;
|
||||
|
||||
for (nth = 0, parent = commit->parents; parent; parent = parent->next) {
|
||||
if (!oidcmp(&parent->item->object.oid, oid))
|
||||
if (oideq(&parent->item->object.oid, oid))
|
||||
return nth;
|
||||
nth++;
|
||||
}
|
||||
|
@ -508,8 +508,8 @@ static int show_one_mergetag(struct commit *commit,
|
|||
if (parse_tag_buffer(the_repository, tag, extra->value, extra->len))
|
||||
strbuf_addstr(&verify_message, "malformed mergetag\n");
|
||||
else if (is_common_merge(commit) &&
|
||||
!oidcmp(&tag->tagged->oid,
|
||||
&commit->parents->next->item->object.oid))
|
||||
oideq(&tag->tagged->oid,
|
||||
&commit->parents->next->item->object.oid))
|
||||
strbuf_addf(&verify_message,
|
||||
"merged tag '%s'\n", tag->tag);
|
||||
else if ((nth = which_parent(&tag->tagged->oid, commit)) < 0)
|
||||
|
|
|
@ -106,7 +106,7 @@ static int score_trees(const struct object_id *hash1, const struct object_id *ha
|
|||
update_tree_entry(&two);
|
||||
} else {
|
||||
/* path appears in both */
|
||||
if (oidcmp(one.entry.oid, two.entry.oid)) {
|
||||
if (!oideq(one.entry.oid, two.entry.oid)) {
|
||||
/* they are different */
|
||||
score += score_differs(one.entry.mode,
|
||||
two.entry.mode,
|
||||
|
|
|
@ -157,7 +157,7 @@ static struct tree *shift_tree_object(struct tree *one, struct tree *two,
|
|||
shift_tree_by(&one->object.oid, &two->object.oid, &shifted,
|
||||
subtree_shift);
|
||||
}
|
||||
if (!oidcmp(&two->object.oid, &shifted))
|
||||
if (oideq(&two->object.oid, &shifted))
|
||||
return two;
|
||||
return lookup_tree(the_repository, &shifted);
|
||||
}
|
||||
|
@ -180,7 +180,7 @@ static int oid_eq(const struct object_id *a, const struct object_id *b)
|
|||
{
|
||||
if (!a && !b)
|
||||
return 2;
|
||||
return a && b && oidcmp(a, b) == 0;
|
||||
return a && b && oideq(a, b);
|
||||
}
|
||||
|
||||
enum rename_type {
|
||||
|
|
|
@ -152,7 +152,7 @@ static struct notes_merge_pair *diff_tree_remote(struct notes_merge_options *o,
|
|||
mp = find_notes_merge_pair_pos(changes, len, &obj, 1, &occupied);
|
||||
if (occupied) {
|
||||
/* We've found an addition/deletion pair */
|
||||
assert(!oidcmp(&mp->obj, &obj));
|
||||
assert(oideq(&mp->obj, &obj));
|
||||
if (is_null_oid(&p->one->oid)) { /* addition */
|
||||
assert(is_null_oid(&mp->remote));
|
||||
oidcpy(&mp->remote, &p->two->oid);
|
||||
|
@ -219,7 +219,7 @@ static void diff_tree_local(struct notes_merge_options *o,
|
|||
continue;
|
||||
}
|
||||
|
||||
assert(!oidcmp(&mp->obj, &obj));
|
||||
assert(oideq(&mp->obj, &obj));
|
||||
if (is_null_oid(&p->two->oid)) { /* deletion */
|
||||
/*
|
||||
* Either this is a true deletion (1), or it is part
|
||||
|
@ -230,7 +230,7 @@ static void diff_tree_local(struct notes_merge_options *o,
|
|||
* (3) mp->local is uninitialized; set it to null_sha1
|
||||
* (will be overwritten by following addition)
|
||||
*/
|
||||
if (!oidcmp(&mp->local, &uninitialized))
|
||||
if (oideq(&mp->local, &uninitialized))
|
||||
oidclr(&mp->local);
|
||||
} else if (is_null_oid(&p->one->oid)) { /* addition */
|
||||
/*
|
||||
|
@ -242,7 +242,7 @@ static void diff_tree_local(struct notes_merge_options *o,
|
|||
* (3) mp->local is null_sha1; set to p->two->sha1
|
||||
*/
|
||||
assert(is_null_oid(&mp->local) ||
|
||||
!oidcmp(&mp->local, &uninitialized));
|
||||
oideq(&mp->local, &uninitialized));
|
||||
oidcpy(&mp->local, &p->two->oid);
|
||||
} else { /* modification */
|
||||
/*
|
||||
|
@ -250,8 +250,8 @@ static void diff_tree_local(struct notes_merge_options *o,
|
|||
* match mp->base, and mp->local shall be uninitialized.
|
||||
* Set mp->local to p->two->sha1.
|
||||
*/
|
||||
assert(!oidcmp(&p->one->oid, &mp->base));
|
||||
assert(!oidcmp(&mp->local, &uninitialized));
|
||||
assert(oideq(&p->one->oid, &mp->base));
|
||||
assert(oideq(&mp->local, &uninitialized));
|
||||
oidcpy(&mp->local, &p->two->oid);
|
||||
}
|
||||
trace_printf("\t\tStored local change for %s: %.7s -> %.7s\n",
|
||||
|
@ -481,14 +481,14 @@ static int merge_changes(struct notes_merge_options *o,
|
|||
oid_to_hex(&p->local),
|
||||
oid_to_hex(&p->remote));
|
||||
|
||||
if (!oidcmp(&p->base, &p->remote)) {
|
||||
if (oideq(&p->base, &p->remote)) {
|
||||
/* no remote change; nothing to do */
|
||||
trace_printf("\t\t\tskipping (no remote change)\n");
|
||||
} else if (!oidcmp(&p->local, &p->remote)) {
|
||||
} else if (oideq(&p->local, &p->remote)) {
|
||||
/* same change in local and remote; nothing to do */
|
||||
trace_printf("\t\t\tskipping (local == remote)\n");
|
||||
} else if (!oidcmp(&p->local, &uninitialized) ||
|
||||
!oidcmp(&p->local, &p->base)) {
|
||||
} else if (oideq(&p->local, &uninitialized) ||
|
||||
oideq(&p->local, &p->base)) {
|
||||
/* no local change; adopt remote change */
|
||||
trace_printf("\t\t\tno local change, adopted remote\n");
|
||||
if (add_note(t, &p->obj, &p->remote,
|
||||
|
@ -622,14 +622,14 @@ int notes_merge(struct notes_merge_options *o,
|
|||
oid_to_hex(&local->object.oid),
|
||||
oid_to_hex(base_oid));
|
||||
|
||||
if (!oidcmp(&remote->object.oid, base_oid)) {
|
||||
if (oideq(&remote->object.oid, base_oid)) {
|
||||
/* Already merged; result == local commit */
|
||||
if (o->verbosity >= 2)
|
||||
printf("Already up to date!\n");
|
||||
oidcpy(result_oid, &local->object.oid);
|
||||
goto found_result;
|
||||
}
|
||||
if (!oidcmp(&local->object.oid, base_oid)) {
|
||||
if (oideq(&local->object.oid, base_oid)) {
|
||||
/* Fast-forward; result == remote commit */
|
||||
if (o->verbosity >= 2)
|
||||
printf("Fast-forward\n");
|
||||
|
|
8
notes.c
8
notes.c
|
@ -147,7 +147,7 @@ static struct leaf_node *note_tree_find(struct notes_tree *t,
|
|||
void **p = note_tree_search(t, &tree, &n, key_sha1);
|
||||
if (GET_PTR_TYPE(*p) == PTR_TYPE_NOTE) {
|
||||
struct leaf_node *l = (struct leaf_node *) CLR_PTR_TYPE(*p);
|
||||
if (!hashcmp(key_sha1, l->key_oid.hash))
|
||||
if (hasheq(key_sha1, l->key_oid.hash))
|
||||
return l;
|
||||
}
|
||||
return NULL;
|
||||
|
@ -206,7 +206,7 @@ static void note_tree_remove(struct notes_tree *t,
|
|||
if (GET_PTR_TYPE(*p) != PTR_TYPE_NOTE)
|
||||
return; /* type mismatch, nothing to remove */
|
||||
l = (struct leaf_node *) CLR_PTR_TYPE(*p);
|
||||
if (oidcmp(&l->key_oid, &entry->key_oid))
|
||||
if (!oideq(&l->key_oid, &entry->key_oid))
|
||||
return; /* key mismatch, nothing to remove */
|
||||
|
||||
/* we have found a matching entry */
|
||||
|
@ -266,9 +266,9 @@ static int note_tree_insert(struct notes_tree *t, struct int_node *tree,
|
|||
case PTR_TYPE_NOTE:
|
||||
switch (type) {
|
||||
case PTR_TYPE_NOTE:
|
||||
if (!oidcmp(&l->key_oid, &entry->key_oid)) {
|
||||
if (oideq(&l->key_oid, &entry->key_oid)) {
|
||||
/* skip concatenation if l == entry */
|
||||
if (!oidcmp(&l->val_oid, &entry->val_oid))
|
||||
if (oideq(&l->val_oid, &entry->val_oid))
|
||||
return 0;
|
||||
|
||||
ret = combine_notes(&l->val_oid,
|
||||
|
|
2
object.c
2
object.c
|
@ -95,7 +95,7 @@ struct object *lookup_object(struct repository *r, const unsigned char *sha1)
|
|||
|
||||
first = i = hash_obj(sha1, r->parsed_objects->obj_hash_size);
|
||||
while ((obj = r->parsed_objects->obj_hash[i]) != NULL) {
|
||||
if (!hashcmp(sha1, obj->oid.hash))
|
||||
if (hasheq(sha1, obj->oid.hash))
|
||||
break;
|
||||
i++;
|
||||
if (i == r->parsed_objects->obj_hash_size)
|
||||
|
|
12
oidmap.c
12
oidmap.c
|
@ -1,14 +1,14 @@
|
|||
#include "cache.h"
|
||||
#include "oidmap.h"
|
||||
|
||||
static int cmpfn(const void *hashmap_cmp_fn_data,
|
||||
const void *entry, const void *entry_or_key,
|
||||
const void *keydata)
|
||||
static int oidmap_neq(const void *hashmap_cmp_fn_data,
|
||||
const void *entry, const void *entry_or_key,
|
||||
const void *keydata)
|
||||
{
|
||||
const struct oidmap_entry *entry_ = entry;
|
||||
if (keydata)
|
||||
return oidcmp(&entry_->oid, (const struct object_id *) keydata);
|
||||
return oidcmp(&entry_->oid,
|
||||
return !oideq(&entry_->oid, (const struct object_id *) keydata);
|
||||
return !oideq(&entry_->oid,
|
||||
&((const struct oidmap_entry *) entry_or_key)->oid);
|
||||
}
|
||||
|
||||
|
@ -21,7 +21,7 @@ static int hash(const struct object_id *oid)
|
|||
|
||||
void oidmap_init(struct oidmap *map, size_t initial_size)
|
||||
{
|
||||
hashmap_init(&map->map, cmpfn, NULL, initial_size);
|
||||
hashmap_init(&map->map, oidmap_neq, NULL, initial_size);
|
||||
}
|
||||
|
||||
void oidmap_free(struct oidmap *map, int free_entries)
|
||||
|
|
|
@ -79,10 +79,10 @@ static int verify_packfile(struct packed_git *p,
|
|||
} while (offset < pack_sig_ofs);
|
||||
the_hash_algo->final_fn(hash, &ctx);
|
||||
pack_sig = use_pack(p, w_curs, pack_sig_ofs, NULL);
|
||||
if (hashcmp(hash, pack_sig))
|
||||
if (!hasheq(hash, pack_sig))
|
||||
err = error("%s pack checksum mismatch",
|
||||
p->pack_name);
|
||||
if (hashcmp(index_base + index_size - the_hash_algo->hexsz, pack_sig))
|
||||
if (!hasheq(index_base + index_size - the_hash_algo->hexsz, pack_sig))
|
||||
err = error("%s pack checksum does not match its index",
|
||||
p->pack_name);
|
||||
unuse_pack(w_curs);
|
||||
|
@ -180,7 +180,7 @@ int verify_pack_index(struct packed_git *p)
|
|||
the_hash_algo->init_fn(&ctx);
|
||||
the_hash_algo->update_fn(&ctx, index_base, (unsigned int)(index_size - the_hash_algo->rawsz));
|
||||
the_hash_algo->final_fn(hash, &ctx);
|
||||
if (hashcmp(hash, index_base + index_size - the_hash_algo->rawsz))
|
||||
if (!hasheq(hash, index_base + index_size - the_hash_algo->rawsz))
|
||||
err = error("Packfile index for %s hash mismatch",
|
||||
p->pack_name);
|
||||
return err;
|
||||
|
|
|
@ -16,7 +16,7 @@ static uint32_t locate_object_entry_hash(struct packing_data *pdata,
|
|||
while (pdata->index[i] > 0) {
|
||||
uint32_t pos = pdata->index[i] - 1;
|
||||
|
||||
if (!hashcmp(sha1, pdata->objects[pos].idx.oid.hash)) {
|
||||
if (hasheq(sha1, pdata->objects[pos].idx.oid.hash)) {
|
||||
*found = 1;
|
||||
return i;
|
||||
}
|
||||
|
|
|
@ -124,7 +124,7 @@ const char *write_idx_file(const char *index_name, struct pack_idx_entry **objec
|
|||
}
|
||||
hashwrite(f, obj->oid.hash, the_hash_algo->rawsz);
|
||||
if ((opts->flags & WRITE_IDX_STRICT) &&
|
||||
(i && !oidcmp(&list[-2]->oid, &obj->oid)))
|
||||
(i && oideq(&list[-2]->oid, &obj->oid)))
|
||||
die("The same object %s appears twice in the pack",
|
||||
oid_to_hex(&obj->oid));
|
||||
}
|
||||
|
@ -260,7 +260,7 @@ void fixup_pack_header_footer(int pack_fd,
|
|||
if (partial_pack_offset == 0) {
|
||||
unsigned char hash[GIT_MAX_RAWSZ];
|
||||
the_hash_algo->final_fn(hash, &old_hash_ctx);
|
||||
if (hashcmp(hash, partial_pack_hash) != 0)
|
||||
if (!hasheq(hash, partial_pack_hash))
|
||||
die("Unexpected checksum for %s "
|
||||
"(disk corruption?)", pack_name);
|
||||
/*
|
||||
|
|
12
packfile.c
12
packfile.c
|
@ -550,7 +550,7 @@ static int open_packed_git_1(struct packed_git *p)
|
|||
if (read_result != hashsz)
|
||||
return error("packfile %s signature is unavailable", p->pack_name);
|
||||
idx_hash = ((unsigned char *)p->index_data) + p->index_size - hashsz * 2;
|
||||
if (hashcmp(hash, idx_hash))
|
||||
if (!hasheq(hash, idx_hash))
|
||||
return error("packfile %s does not match index", p->pack_name);
|
||||
return 0;
|
||||
}
|
||||
|
@ -1122,7 +1122,7 @@ void mark_bad_packed_object(struct packed_git *p, const unsigned char *sha1)
|
|||
{
|
||||
unsigned i;
|
||||
for (i = 0; i < p->num_bad_objects; i++)
|
||||
if (!hashcmp(sha1, p->bad_object_sha1 + GIT_SHA1_RAWSZ * i))
|
||||
if (hasheq(sha1, p->bad_object_sha1 + GIT_SHA1_RAWSZ * i))
|
||||
return;
|
||||
p->bad_object_sha1 = xrealloc(p->bad_object_sha1,
|
||||
st_mult(GIT_MAX_RAWSZ,
|
||||
|
@ -1138,8 +1138,8 @@ const struct packed_git *has_packed_and_bad(const unsigned char *sha1)
|
|||
|
||||
for (p = the_repository->objects->packed_git; p; p = p->next)
|
||||
for (i = 0; i < p->num_bad_objects; i++)
|
||||
if (!hashcmp(sha1,
|
||||
p->bad_object_sha1 + the_hash_algo->rawsz * i))
|
||||
if (hasheq(sha1,
|
||||
p->bad_object_sha1 + the_hash_algo->rawsz * i))
|
||||
return p;
|
||||
return NULL;
|
||||
}
|
||||
|
@ -1937,8 +1937,8 @@ static int fill_pack_entry(const struct object_id *oid,
|
|||
if (p->num_bad_objects) {
|
||||
unsigned i;
|
||||
for (i = 0; i < p->num_bad_objects; i++)
|
||||
if (!hashcmp(oid->hash,
|
||||
p->bad_object_sha1 + the_hash_algo->rawsz * i))
|
||||
if (hasheq(oid->hash,
|
||||
p->bad_object_sha1 + the_hash_algo->rawsz * i))
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -28,14 +28,14 @@ int commit_patch_id(struct commit *commit, struct diff_options *options,
|
|||
/*
|
||||
* When we cannot load the full patch-id for both commits for whatever
|
||||
* reason, the function returns -1 (i.e. return error(...)). Despite
|
||||
* the "cmp" in the name of this function, the caller only cares about
|
||||
* the "neq" in the name of this function, the caller only cares about
|
||||
* the return value being zero (a and b are equivalent) or non-zero (a
|
||||
* and b are different), and returning non-zero would keep both in the
|
||||
* result, even if they actually were equivalent, in order to err on
|
||||
* the side of safety. The actual value being negative does not have
|
||||
* any significance; only that it is non-zero matters.
|
||||
*/
|
||||
static int patch_id_cmp(const void *cmpfn_data,
|
||||
static int patch_id_neq(const void *cmpfn_data,
|
||||
const void *entry,
|
||||
const void *entry_or_key,
|
||||
const void *unused_keydata)
|
||||
|
@ -53,7 +53,7 @@ static int patch_id_cmp(const void *cmpfn_data,
|
|||
commit_patch_id(b->commit, opt, &b->patch_id, 0))
|
||||
return error("Could not get patch ID for %s",
|
||||
oid_to_hex(&b->commit->object.oid));
|
||||
return oidcmp(&a->patch_id, &b->patch_id);
|
||||
return !oideq(&a->patch_id, &b->patch_id);
|
||||
}
|
||||
|
||||
int init_patch_ids(struct patch_ids *ids)
|
||||
|
@ -63,7 +63,7 @@ int init_patch_ids(struct patch_ids *ids)
|
|||
ids->diffopts.detect_rename = 0;
|
||||
ids->diffopts.flags.recursive = 1;
|
||||
diff_setup_done(&ids->diffopts);
|
||||
hashmap_init(&ids->patches, patch_id_cmp, &ids->diffopts, 256);
|
||||
hashmap_init(&ids->patches, patch_id_neq, &ids->diffopts, 256);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
12
read-cache.c
12
read-cache.c
|
@ -213,7 +213,7 @@ static int ce_compare_data(const struct cache_entry *ce, struct stat *st)
|
|||
if (fd >= 0) {
|
||||
struct object_id oid;
|
||||
if (!index_fd(&oid, fd, st, OBJ_BLOB, ce->name, 0))
|
||||
match = oidcmp(&oid, &ce->oid);
|
||||
match = !oideq(&oid, &ce->oid);
|
||||
/* index_fd() closed the file descriptor already */
|
||||
}
|
||||
return match;
|
||||
|
@ -254,7 +254,7 @@ static int ce_compare_gitlink(const struct cache_entry *ce)
|
|||
*/
|
||||
if (resolve_gitlink_ref(ce->name, "HEAD", &oid) < 0)
|
||||
return 0;
|
||||
return oidcmp(&oid, &ce->oid);
|
||||
return !oideq(&oid, &ce->oid);
|
||||
}
|
||||
|
||||
static int ce_modified_check_fs(const struct cache_entry *ce, struct stat *st)
|
||||
|
@ -767,7 +767,7 @@ int add_to_index(struct index_state *istate, const char *path, struct stat *st,
|
|||
/* It was suspected to be racily clean, but it turns out to be Ok */
|
||||
was_same = (alias &&
|
||||
!ce_stage(alias) &&
|
||||
!oidcmp(&alias->oid, &ce->oid) &&
|
||||
oideq(&alias->oid, &ce->oid) &&
|
||||
ce->ce_mode == alias->ce_mode);
|
||||
|
||||
if (pretend)
|
||||
|
@ -1668,7 +1668,7 @@ static int verify_hdr(struct cache_header *hdr, unsigned long size)
|
|||
the_hash_algo->init_fn(&c);
|
||||
the_hash_algo->update_fn(&c, hdr, size - the_hash_algo->rawsz);
|
||||
the_hash_algo->final_fn(hash, &c);
|
||||
if (hashcmp(hash, (unsigned char *)hdr + size - the_hash_algo->rawsz))
|
||||
if (!hasheq(hash, (unsigned char *)hdr + size - the_hash_algo->rawsz))
|
||||
return error("bad index file sha1 signature");
|
||||
return 0;
|
||||
}
|
||||
|
@ -2030,7 +2030,7 @@ int read_index_from(struct index_state *istate, const char *path,
|
|||
base_oid_hex = oid_to_hex(&split_index->base_oid);
|
||||
base_path = xstrfmt("%s/sharedindex.%s", gitdir, base_oid_hex);
|
||||
ret = do_read_index(split_index->base, base_path, 1);
|
||||
if (oidcmp(&split_index->base_oid, &split_index->base->oid))
|
||||
if (!oideq(&split_index->base_oid, &split_index->base->oid))
|
||||
die("broken index, expect %s in %s, got %s",
|
||||
base_oid_hex, base_path,
|
||||
oid_to_hex(&split_index->base->oid));
|
||||
|
@ -2396,7 +2396,7 @@ static int verify_index_from(const struct index_state *istate, const char *path)
|
|||
if (n != the_hash_algo->rawsz)
|
||||
goto out;
|
||||
|
||||
if (hashcmp(istate->oid.hash, hash))
|
||||
if (!hasheq(istate->oid.hash, hash))
|
||||
goto out;
|
||||
|
||||
close(fd);
|
||||
|
|
8
refs.c
8
refs.c
|
@ -702,7 +702,7 @@ static int write_pseudoref(const char *pseudoref, const struct object_id *oid,
|
|||
pseudoref);
|
||||
rollback_lock_file(&lock);
|
||||
goto done;
|
||||
} else if (oidcmp(&actual_old_oid, old_oid)) {
|
||||
} else if (!oideq(&actual_old_oid, old_oid)) {
|
||||
strbuf_addf(err, _("unexpected object ID when writing '%s'"),
|
||||
pseudoref);
|
||||
rollback_lock_file(&lock);
|
||||
|
@ -744,7 +744,7 @@ static int delete_pseudoref(const char *pseudoref, const struct object_id *old_o
|
|||
}
|
||||
if (read_ref(pseudoref, &actual_old_oid))
|
||||
die(_("could not read ref '%s'"), pseudoref);
|
||||
if (oidcmp(&actual_old_oid, old_oid)) {
|
||||
if (!oideq(&actual_old_oid, old_oid)) {
|
||||
error(_("unexpected object ID when deleting '%s'"),
|
||||
pseudoref);
|
||||
rollback_lock_file(&lock);
|
||||
|
@ -875,13 +875,13 @@ static int read_ref_at_ent(struct object_id *ooid, struct object_id *noid,
|
|||
*/
|
||||
if (!is_null_oid(&cb->ooid)) {
|
||||
oidcpy(cb->oid, noid);
|
||||
if (oidcmp(&cb->ooid, noid))
|
||||
if (!oideq(&cb->ooid, noid))
|
||||
warning(_("log for ref %s has gap after %s"),
|
||||
cb->refname, show_date(cb->date, cb->tz, DATE_MODE(RFC2822)));
|
||||
}
|
||||
else if (cb->date == cb->at_time)
|
||||
oidcpy(cb->oid, noid);
|
||||
else if (oidcmp(noid, cb->oid))
|
||||
else if (!oideq(noid, cb->oid))
|
||||
warning(_("log for ref %s unexpectedly ended on %s"),
|
||||
cb->refname, show_date(cb->date, cb->tz,
|
||||
DATE_MODE(RFC2822)));
|
||||
|
|
|
@ -841,7 +841,7 @@ static int verify_lock(struct ref_store *ref_store, struct ref_lock *lock,
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
if (old_oid && oidcmp(&lock->old_oid, old_oid)) {
|
||||
if (old_oid && !oideq(&lock->old_oid, old_oid)) {
|
||||
strbuf_addf(err, "ref '%s' is at %s but expected %s",
|
||||
lock->ref_name,
|
||||
oid_to_hex(&lock->old_oid),
|
||||
|
@ -2307,7 +2307,7 @@ static int check_old_oid(struct ref_update *update, struct object_id *oid,
|
|||
struct strbuf *err)
|
||||
{
|
||||
if (!(update->flags & REF_HAVE_OLD) ||
|
||||
!oidcmp(oid, &update->old_oid))
|
||||
oideq(oid, &update->old_oid))
|
||||
return 0;
|
||||
|
||||
if (is_null_oid(&update->old_oid))
|
||||
|
@ -2443,7 +2443,7 @@ static int lock_ref_for_update(struct files_ref_store *refs,
|
|||
!(update->flags & REF_DELETING) &&
|
||||
!(update->flags & REF_LOG_ONLY)) {
|
||||
if (!(update->type & REF_ISSYMREF) &&
|
||||
!oidcmp(&lock->old_oid, &update->new_oid)) {
|
||||
oideq(&lock->old_oid, &update->new_oid)) {
|
||||
/*
|
||||
* The reference already has the desired
|
||||
* value, so we don't need to write it.
|
||||
|
|
|
@ -1160,7 +1160,7 @@ static int write_with_updates(struct packed_ref_store *refs,
|
|||
"reference already exists",
|
||||
update->refname);
|
||||
goto error;
|
||||
} else if (oidcmp(&update->old_oid, iter->oid)) {
|
||||
} else if (!oideq(&update->old_oid, iter->oid)) {
|
||||
strbuf_addf(err, "cannot update ref '%s': "
|
||||
"is at %s but expected %s",
|
||||
update->refname,
|
||||
|
|
|
@ -272,7 +272,7 @@ static int is_dup_ref(const struct ref_entry *ref1, const struct ref_entry *ref2
|
|||
/* This is impossible by construction */
|
||||
die("Reference directory conflict: %s", ref1->name);
|
||||
|
||||
if (oidcmp(&ref1->u.value.oid, &ref2->u.value.oid))
|
||||
if (!oideq(&ref1->u.value.oid, &ref2->u.value.oid))
|
||||
die("Duplicated ref, and SHA1s don't match: %s", ref1->name);
|
||||
|
||||
warning("Duplicated ref: %s", ref1->name);
|
||||
|
|
8
remote.c
8
remote.c
|
@ -1389,7 +1389,7 @@ void set_ref_status_for_push(struct ref *remote_refs, int send_mirror,
|
|||
|
||||
ref->deletion = is_null_oid(&ref->new_oid);
|
||||
if (!ref->deletion &&
|
||||
!oidcmp(&ref->old_oid, &ref->new_oid)) {
|
||||
oideq(&ref->old_oid, &ref->new_oid)) {
|
||||
ref->status = REF_STATUS_UPTODATE;
|
||||
continue;
|
||||
}
|
||||
|
@ -1404,7 +1404,7 @@ void set_ref_status_for_push(struct ref *remote_refs, int send_mirror,
|
|||
* branch.
|
||||
*/
|
||||
if (ref->expect_old_sha1) {
|
||||
if (oidcmp(&ref->old_oid, &ref->old_oid_expect))
|
||||
if (!oideq(&ref->old_oid, &ref->old_oid_expect))
|
||||
reject_reason = REF_STATUS_REJECT_STALE;
|
||||
else
|
||||
/* If the ref isn't stale then force the update. */
|
||||
|
@ -2001,7 +2001,7 @@ struct ref *guess_remote_head(const struct ref *head,
|
|||
/* If refs/heads/master could be right, it is. */
|
||||
if (!all) {
|
||||
r = find_ref_by_name(refs, "refs/heads/master");
|
||||
if (r && !oidcmp(&r->old_oid, &head->old_oid))
|
||||
if (r && oideq(&r->old_oid, &head->old_oid))
|
||||
return copy_ref(r);
|
||||
}
|
||||
|
||||
|
@ -2009,7 +2009,7 @@ struct ref *guess_remote_head(const struct ref *head,
|
|||
for (r = refs; r; r = r->next) {
|
||||
if (r != head &&
|
||||
starts_with(r->name, "refs/heads/") &&
|
||||
!oidcmp(&r->old_oid, &head->old_oid)) {
|
||||
oideq(&r->old_oid, &head->old_oid)) {
|
||||
*tail = copy_ref(r);
|
||||
tail = &((*tail)->next);
|
||||
if (!all)
|
||||
|
|
|
@ -3238,7 +3238,7 @@ static void track_linear(struct rev_info *revs, struct commit *commit)
|
|||
struct commit_list *p;
|
||||
for (p = revs->previous_parents; p; p = p->next)
|
||||
if (p->item == NULL || /* first commit */
|
||||
!oidcmp(&p->item->object.oid, &commit->object.oid))
|
||||
oideq(&p->item->object.oid, &commit->object.oid))
|
||||
break;
|
||||
revs->linear = p != NULL;
|
||||
}
|
||||
|
|
40
sequencer.c
40
sequencer.c
|
@ -614,7 +614,7 @@ static int is_index_unchanged(void)
|
|||
if (!(cache_tree_oid = get_cache_tree_oid()))
|
||||
return -1;
|
||||
|
||||
return !oidcmp(cache_tree_oid, get_commit_tree_oid(head_commit));
|
||||
return oideq(cache_tree_oid, get_commit_tree_oid(head_commit));
|
||||
}
|
||||
|
||||
static int write_author_script(const char *message)
|
||||
|
@ -1221,7 +1221,7 @@ static int parse_head(struct commit **head)
|
|||
current_head = lookup_commit_reference(the_repository, &oid);
|
||||
if (!current_head)
|
||||
return error(_("could not parse HEAD"));
|
||||
if (oidcmp(&oid, ¤t_head->object.oid)) {
|
||||
if (!oideq(&oid, ¤t_head->object.oid)) {
|
||||
warning(_("HEAD %s is not a commit!"),
|
||||
oid_to_hex(&oid));
|
||||
}
|
||||
|
@ -1291,9 +1291,9 @@ static int try_to_commit(struct strbuf *msg, const char *author,
|
|||
goto out;
|
||||
}
|
||||
|
||||
if (!(flags & ALLOW_EMPTY) && !oidcmp(current_head ?
|
||||
get_commit_tree_oid(current_head) :
|
||||
the_hash_algo->empty_tree, &tree)) {
|
||||
if (!(flags & ALLOW_EMPTY) && oideq(current_head ?
|
||||
get_commit_tree_oid(current_head) :
|
||||
the_hash_algo->empty_tree, &tree)) {
|
||||
res = 1; /* run 'git commit' to display error message */
|
||||
goto out;
|
||||
}
|
||||
|
@ -1398,7 +1398,7 @@ static int is_original_commit_empty(struct commit *commit)
|
|||
ptree_oid = the_hash_algo->empty_tree; /* commit is root */
|
||||
}
|
||||
|
||||
return !oidcmp(ptree_oid, get_commit_tree_oid(commit));
|
||||
return oideq(ptree_oid, get_commit_tree_oid(commit));
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1678,7 +1678,7 @@ static int do_pick_commit(enum todo_command command, struct commit *commit,
|
|||
unborn = get_oid("HEAD", &head);
|
||||
/* Do we want to generate a root commit? */
|
||||
if (is_pick_or_similar(command) && opts->have_squash_onto &&
|
||||
!oidcmp(&head, &opts->squash_onto)) {
|
||||
oideq(&head, &opts->squash_onto)) {
|
||||
if (is_fixup(command))
|
||||
return error(_("cannot fixup root commit"));
|
||||
flags |= CREATE_ROOT_COMMIT;
|
||||
|
@ -1721,7 +1721,7 @@ static int do_pick_commit(enum todo_command command, struct commit *commit,
|
|||
oid_to_hex(&commit->object.oid));
|
||||
|
||||
if (opts->allow_ff && !is_fixup(command) &&
|
||||
((parent && !oidcmp(&parent->object.oid, &head)) ||
|
||||
((parent && oideq(&parent->object.oid, &head)) ||
|
||||
(!parent && unborn))) {
|
||||
if (is_rebase_i(opts))
|
||||
write_author_script(msg.message);
|
||||
|
@ -2426,7 +2426,7 @@ static int rollback_is_safe(void)
|
|||
if (get_oid("HEAD", &actual_head))
|
||||
oidclr(&actual_head);
|
||||
|
||||
return !oidcmp(&actual_head, &expected_head);
|
||||
return oideq(&actual_head, &expected_head);
|
||||
}
|
||||
|
||||
static int reset_for_rollback(const struct object_id *oid)
|
||||
|
@ -2987,7 +2987,7 @@ static int do_merge(struct commit *commit, const char *arg, int arg_len,
|
|||
}
|
||||
|
||||
if (opts->have_squash_onto &&
|
||||
!oidcmp(&head_commit->object.oid, &opts->squash_onto)) {
|
||||
oideq(&head_commit->object.oid, &opts->squash_onto)) {
|
||||
/*
|
||||
* When the user tells us to "merge" something into a
|
||||
* "[new root]", let's simply fast-forward to the merge head.
|
||||
|
@ -3056,8 +3056,8 @@ static int do_merge(struct commit *commit, const char *arg, int arg_len,
|
|||
* commit, we cannot fast-forward.
|
||||
*/
|
||||
can_fast_forward = opts->allow_ff && commit && commit->parents &&
|
||||
!oidcmp(&commit->parents->item->object.oid,
|
||||
&head_commit->object.oid);
|
||||
oideq(&commit->parents->item->object.oid,
|
||||
&head_commit->object.oid);
|
||||
|
||||
/*
|
||||
* If any merge head is different from the original one, we cannot
|
||||
|
@ -3067,7 +3067,7 @@ static int do_merge(struct commit *commit, const char *arg, int arg_len,
|
|||
struct commit_list *p = commit->parents->next;
|
||||
|
||||
for (j = to_merge; j && p; j = j->next, p = p->next)
|
||||
if (oidcmp(&j->item->object.oid,
|
||||
if (!oideq(&j->item->object.oid,
|
||||
&p->item->object.oid)) {
|
||||
can_fast_forward = 0;
|
||||
break;
|
||||
|
@ -3135,8 +3135,8 @@ static int do_merge(struct commit *commit, const char *arg, int arg_len,
|
|||
write_message("no-ff", 5, git_path_merge_mode(the_repository), 0);
|
||||
|
||||
bases = get_merge_bases(head_commit, merge_commit);
|
||||
if (bases && !oidcmp(&merge_commit->object.oid,
|
||||
&bases->item->object.oid)) {
|
||||
if (bases && oideq(&merge_commit->object.oid,
|
||||
&bases->item->object.oid)) {
|
||||
ret = 0;
|
||||
/* skip merging an ancestor of HEAD */
|
||||
goto leave_merge;
|
||||
|
@ -3382,9 +3382,9 @@ static int pick_commits(struct todo_list *todo_list, struct replay_opts *opts)
|
|||
*/
|
||||
if (item->command == TODO_REWORD &&
|
||||
!get_oid("HEAD", &oid) &&
|
||||
(!oidcmp(&item->commit->object.oid, &oid) ||
|
||||
(oideq(&item->commit->object.oid, &oid) ||
|
||||
(opts->have_squash_onto &&
|
||||
!oidcmp(&opts->squash_onto, &oid))))
|
||||
oideq(&opts->squash_onto, &oid))))
|
||||
to_amend = 1;
|
||||
|
||||
return res | error_with_patch(item->commit,
|
||||
|
@ -3599,7 +3599,7 @@ static int commit_staged_changes(struct replay_opts *opts,
|
|||
if (get_oid_hex(rev.buf, &to_amend))
|
||||
return error(_("invalid contents: '%s'"),
|
||||
rebase_path_amend());
|
||||
if (!is_clean && oidcmp(&head, &to_amend))
|
||||
if (!is_clean && !oideq(&head, &to_amend))
|
||||
return error(_("\nYou have uncommitted changes in your "
|
||||
"working tree. Please, commit them\n"
|
||||
"first and then run 'git rebase "
|
||||
|
@ -3611,7 +3611,7 @@ static int commit_staged_changes(struct replay_opts *opts,
|
|||
* the commit message and if there was a squash, let the user
|
||||
* edit it.
|
||||
*/
|
||||
if (is_clean && !oidcmp(&head, &to_amend) &&
|
||||
if (is_clean && oideq(&head, &to_amend) &&
|
||||
opts->current_fixup_count > 0 &&
|
||||
file_exists(rebase_path_stopped_sha())) {
|
||||
const char *p = opts->current_fixups.buf;
|
||||
|
@ -4578,7 +4578,7 @@ int skip_unnecessary_picks(void)
|
|||
if (item->commit->parents->next)
|
||||
break; /* merge commit */
|
||||
parent_oid = &item->commit->parents->item->object.oid;
|
||||
if (hashcmp(parent_oid->hash, oid->hash))
|
||||
if (!oideq(parent_oid, oid))
|
||||
break;
|
||||
oid = &item->commit->object.oid;
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ int oid_array_for_each_unique(struct oid_array *array,
|
|||
|
||||
for (i = 0; i < array->nr; i++) {
|
||||
int ret;
|
||||
if (i > 0 && !oidcmp(array->oid + i, array->oid + i - 1))
|
||||
if (i > 0 && oideq(array->oid + i, array->oid + i - 1))
|
||||
continue;
|
||||
ret = fn(array->oid + i, data);
|
||||
if (ret)
|
||||
|
|
12
sha1-file.c
12
sha1-file.c
|
@ -149,10 +149,10 @@ static struct cached_object *find_cached_object(const struct object_id *oid)
|
|||
struct cached_object *co = cached_objects;
|
||||
|
||||
for (i = 0; i < cached_object_nr; i++, co++) {
|
||||
if (!oidcmp(&co->oid, oid))
|
||||
if (oideq(&co->oid, oid))
|
||||
return co;
|
||||
}
|
||||
if (!oidcmp(oid, the_hash_algo->empty_tree))
|
||||
if (oideq(oid, the_hash_algo->empty_tree))
|
||||
return &empty_tree;
|
||||
return NULL;
|
||||
}
|
||||
|
@ -825,7 +825,7 @@ int check_object_signature(const struct object_id *oid, void *map,
|
|||
|
||||
if (map) {
|
||||
hash_object_file(map, size, type, &real_oid);
|
||||
return oidcmp(oid, &real_oid) ? -1 : 0;
|
||||
return !oideq(oid, &real_oid) ? -1 : 0;
|
||||
}
|
||||
|
||||
st = open_istream(oid, &obj_type, &size, NULL);
|
||||
|
@ -852,7 +852,7 @@ int check_object_signature(const struct object_id *oid, void *map,
|
|||
}
|
||||
the_hash_algo->final_fn(real_oid.hash, &c);
|
||||
close_istream(st);
|
||||
return oidcmp(oid, &real_oid) ? -1 : 0;
|
||||
return !oideq(oid, &real_oid) ? -1 : 0;
|
||||
}
|
||||
|
||||
int git_open_cloexec(const char *name, int flags)
|
||||
|
@ -1671,7 +1671,7 @@ static int write_loose_object(const struct object_id *oid, char *hdr,
|
|||
die(_("deflateEnd on object %s failed (%d)"), oid_to_hex(oid),
|
||||
ret);
|
||||
the_hash_algo->final_fn(parano_oid.hash, &c);
|
||||
if (oidcmp(oid, ¶no_oid) != 0)
|
||||
if (!oideq(oid, ¶no_oid))
|
||||
die(_("confused by unstable object source data for %s"),
|
||||
oid_to_hex(oid));
|
||||
|
||||
|
@ -2213,7 +2213,7 @@ static int check_stream_sha1(git_zstream *stream,
|
|||
}
|
||||
|
||||
the_hash_algo->final_fn(real_sha1, &c);
|
||||
if (hashcmp(expected_sha1, real_sha1)) {
|
||||
if (!hasheq(expected_sha1, real_sha1)) {
|
||||
error(_("sha1 mismatch for %s (expected %s)"), path,
|
||||
sha1_to_hex(expected_sha1));
|
||||
return -1;
|
||||
|
|
|
@ -46,7 +46,7 @@ static void update_candidates(struct disambiguate_state *ds, const struct object
|
|||
oidcpy(&ds->candidate, current);
|
||||
ds->candidate_exists = 1;
|
||||
return;
|
||||
} else if (!oidcmp(&ds->candidate, current)) {
|
||||
} else if (oideq(&ds->candidate, current)) {
|
||||
/* the same as what we already have seen */
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ static int config_path_cmp(const void *unused_cmp_data,
|
|||
const struct submodule_entry *b = entry_or_key;
|
||||
|
||||
return strcmp(a->config->path, b->config->path) ||
|
||||
oidcmp(&a->config->gitmodules_oid, &b->config->gitmodules_oid);
|
||||
!oideq(&a->config->gitmodules_oid, &b->config->gitmodules_oid);
|
||||
}
|
||||
|
||||
static int config_name_cmp(const void *unused_cmp_data,
|
||||
|
@ -57,7 +57,7 @@ static int config_name_cmp(const void *unused_cmp_data,
|
|||
const struct submodule_entry *b = entry_or_key;
|
||||
|
||||
return strcmp(a->config->name, b->config->name) ||
|
||||
oidcmp(&a->config->gitmodules_oid, &b->config->gitmodules_oid);
|
||||
!oideq(&a->config->gitmodules_oid, &b->config->gitmodules_oid);
|
||||
}
|
||||
|
||||
static struct submodule_cache *submodule_cache_alloc(void)
|
||||
|
|
|
@ -537,7 +537,7 @@ static void show_submodule_header(struct diff_options *o, const char *path,
|
|||
fast_backward = 1;
|
||||
}
|
||||
|
||||
if (!oidcmp(one, two)) {
|
||||
if (oideq(one, two)) {
|
||||
strbuf_release(&sb);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ static int dump_cache_tree(struct cache_tree *it,
|
|||
}
|
||||
else {
|
||||
dump_one(it, pfx, "");
|
||||
if (oidcmp(&it->oid, &ref->oid) ||
|
||||
if (!oideq(&it->oid, &ref->oid) ||
|
||||
ref->entry_count != it->entry_count ||
|
||||
ref->subtree_nr != it->subtree_nr) {
|
||||
/* claims to be valid but is lying */
|
||||
|
|
|
@ -1228,7 +1228,7 @@ int transport_fetch_refs(struct transport *transport, struct ref *refs)
|
|||
nr_refs++;
|
||||
if (rm->peer_ref &&
|
||||
!is_null_oid(&rm->old_oid) &&
|
||||
!oidcmp(&rm->peer_ref->old_oid, &rm->old_oid))
|
||||
oideq(&rm->peer_ref->old_oid, &rm->old_oid))
|
||||
continue;
|
||||
ALLOC_GROW(heads, nr_heads + 1, nr_alloc);
|
||||
heads[nr_heads++] = rm;
|
||||
|
|
|
@ -491,7 +491,7 @@ static struct combine_diff_path *ll_diff_tree_paths(
|
|||
continue;
|
||||
|
||||
/* diff(t,pi) != ø */
|
||||
if (oidcmp(t.entry.oid, tp[i].entry.oid) ||
|
||||
if (!oideq(t.entry.oid, tp[i].entry.oid) ||
|
||||
(t.entry.mode != tp[i].entry.mode))
|
||||
continue;
|
||||
|
||||
|
|
|
@ -679,7 +679,7 @@ static int switch_cache_bottom(struct traverse_info *info)
|
|||
|
||||
static inline int are_same_oid(struct name_entry *name_j, struct name_entry *name_k)
|
||||
{
|
||||
return name_j->oid && name_k->oid && !oidcmp(name_j->oid, name_k->oid);
|
||||
return name_j->oid && name_k->oid && oideq(name_j->oid, name_k->oid);
|
||||
}
|
||||
|
||||
static int all_trees_same_as_cache_tree(int n, unsigned long dirmask,
|
||||
|
@ -1678,7 +1678,7 @@ static int same(const struct cache_entry *a, const struct cache_entry *b)
|
|||
if ((a->ce_flags | b->ce_flags) & CE_CONFLICTED)
|
||||
return 0;
|
||||
return a->ce_mode == b->ce_mode &&
|
||||
!oidcmp(&a->oid, &b->oid);
|
||||
oideq(&a->oid, &b->oid);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1810,7 +1810,7 @@ static int verify_clean_subdirectory(const struct cache_entry *ce,
|
|||
* If we are not going to update the submodule, then
|
||||
* we don't care.
|
||||
*/
|
||||
if (!sub_head && !oidcmp(&oid, &ce->oid))
|
||||
if (!sub_head && oideq(&oid, &ce->oid))
|
||||
return 0;
|
||||
return verify_clean_submodule(sub_head ? NULL : oid_to_hex(&oid),
|
||||
ce, error_type, o);
|
||||
|
|
10
wt-status.c
10
wt-status.c
|
@ -453,8 +453,8 @@ static void wt_status_collect_changed_cb(struct diff_queue_struct *q,
|
|||
d->worktree_status = p->status;
|
||||
if (S_ISGITLINK(p->two->mode)) {
|
||||
d->dirty_submodule = p->two->dirty_submodule;
|
||||
d->new_submodule_commits = !!oidcmp(&p->one->oid,
|
||||
&p->two->oid);
|
||||
d->new_submodule_commits = !oideq(&p->one->oid,
|
||||
&p->two->oid);
|
||||
if (s->status_format == STATUS_FORMAT_SHORT)
|
||||
d->worktree_status = short_submodule_status(d);
|
||||
}
|
||||
|
@ -1487,10 +1487,10 @@ static void wt_status_get_detached_from(struct wt_status_state *state)
|
|||
|
||||
if (dwim_ref(cb.buf.buf, cb.buf.len, &oid, &ref) == 1 &&
|
||||
/* sha1 is a commit? match without further lookup */
|
||||
(!oidcmp(&cb.noid, &oid) ||
|
||||
(oideq(&cb.noid, &oid) ||
|
||||
/* perhaps sha1 is a tag, try to dereference to a commit */
|
||||
((commit = lookup_commit_reference_gently(the_repository, &oid, 1)) != NULL &&
|
||||
!oidcmp(&cb.noid, &commit->object.oid)))) {
|
||||
oideq(&cb.noid, &commit->object.oid)))) {
|
||||
const char *from = ref;
|
||||
if (!skip_prefix(from, "refs/tags/", &from))
|
||||
skip_prefix(from, "refs/remotes/", &from);
|
||||
|
@ -1500,7 +1500,7 @@ static void wt_status_get_detached_from(struct wt_status_state *state)
|
|||
xstrdup(find_unique_abbrev(&cb.noid, DEFAULT_ABBREV));
|
||||
oidcpy(&state->detached_oid, &cb.noid);
|
||||
state->detached_at = !get_oid("HEAD", &oid) &&
|
||||
!oidcmp(&oid, &state->detached_oid);
|
||||
oideq(&oid, &state->detached_oid);
|
||||
|
||||
free(ref);
|
||||
strbuf_release(&cb.buf);
|
||||
|
|
|
@ -186,7 +186,7 @@ void read_mmblob(mmfile_t *ptr, const struct object_id *oid)
|
|||
unsigned long size;
|
||||
enum object_type type;
|
||||
|
||||
if (!oidcmp(oid, &null_oid)) {
|
||||
if (oideq(oid, &null_oid)) {
|
||||
ptr->ptr = xstrdup("");
|
||||
ptr->size = 0;
|
||||
return;
|
||||
|
|
Загрузка…
Ссылка в новой задаче