Merge branch 'rs/tighten-callers-of-deref-tag'
Code clean-up. * rs/tighten-callers-of-deref-tag: line-log: handle deref_tag() returning NULL blame: handle deref_tag() returning NULL grep: handle deref_tag() returning NULL
This commit is contained in:
commit
ae84e924da
6
blame.c
6
blame.c
@ -2670,7 +2670,7 @@ static struct commit *find_single_final(struct rev_info *revs,
|
|||||||
if (obj->flags & UNINTERESTING)
|
if (obj->flags & UNINTERESTING)
|
||||||
continue;
|
continue;
|
||||||
obj = deref_tag(revs->repo, obj, NULL, 0);
|
obj = deref_tag(revs->repo, obj, NULL, 0);
|
||||||
if (obj->type != OBJ_COMMIT)
|
if (!obj || obj->type != OBJ_COMMIT)
|
||||||
die("Non commit %s?", revs->pending.objects[i].name);
|
die("Non commit %s?", revs->pending.objects[i].name);
|
||||||
if (found)
|
if (found)
|
||||||
die("More than one commit to dig from %s and %s?",
|
die("More than one commit to dig from %s and %s?",
|
||||||
@ -2701,7 +2701,7 @@ static struct commit *dwim_reverse_initial(struct rev_info *revs,
|
|||||||
/* Is that sole rev a committish? */
|
/* Is that sole rev a committish? */
|
||||||
obj = revs->pending.objects[0].item;
|
obj = revs->pending.objects[0].item;
|
||||||
obj = deref_tag(revs->repo, obj, NULL, 0);
|
obj = deref_tag(revs->repo, obj, NULL, 0);
|
||||||
if (obj->type != OBJ_COMMIT)
|
if (!obj || obj->type != OBJ_COMMIT)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/* Do we have HEAD? */
|
/* Do we have HEAD? */
|
||||||
@ -2737,7 +2737,7 @@ static struct commit *find_single_initial(struct rev_info *revs,
|
|||||||
if (!(obj->flags & UNINTERESTING))
|
if (!(obj->flags & UNINTERESTING))
|
||||||
continue;
|
continue;
|
||||||
obj = deref_tag(revs->repo, obj, NULL, 0);
|
obj = deref_tag(revs->repo, obj, NULL, 0);
|
||||||
if (obj->type != OBJ_COMMIT)
|
if (!obj || obj->type != OBJ_COMMIT)
|
||||||
die("Non commit %s?", revs->pending.objects[i].name);
|
die("Non commit %s?", revs->pending.objects[i].name);
|
||||||
if (found)
|
if (found)
|
||||||
die("More than one commit to dig up from, %s and %s?",
|
die("More than one commit to dig up from, %s and %s?",
|
||||||
|
@ -820,6 +820,8 @@ static int peel_to_commit_oid(struct object_id *oid_ret, void *cbdata)
|
|||||||
if (kind != OBJ_TAG)
|
if (kind != OBJ_TAG)
|
||||||
return -1;
|
return -1;
|
||||||
obj = deref_tag(r, parse_object(r, &oid), NULL, 0);
|
obj = deref_tag(r, parse_object(r, &oid), NULL, 0);
|
||||||
|
if (!obj)
|
||||||
|
return -1;
|
||||||
oidcpy(&oid, &obj->oid);
|
oidcpy(&oid, &obj->oid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -670,6 +670,17 @@ static int grep_objects(struct grep_opt *opt, const struct pathspec *pathspec,
|
|||||||
NULL, 0);
|
NULL, 0);
|
||||||
obj_read_unlock();
|
obj_read_unlock();
|
||||||
|
|
||||||
|
if (!real_obj) {
|
||||||
|
char hex[GIT_MAX_HEXSZ + 1];
|
||||||
|
const char *name = list->objects[i].name;
|
||||||
|
|
||||||
|
if (!name) {
|
||||||
|
oid_to_hex_r(hex, &list->objects[i].item->oid);
|
||||||
|
name = hex;
|
||||||
|
}
|
||||||
|
die(_("invalid object '%s' given."), name);
|
||||||
|
}
|
||||||
|
|
||||||
/* load the gitmodules file for this rev */
|
/* load the gitmodules file for this rev */
|
||||||
if (recurse_submodules) {
|
if (recurse_submodules) {
|
||||||
submodule_free(opt->repo);
|
submodule_free(opt->repo);
|
||||||
|
@ -481,7 +481,7 @@ static struct commit *check_single_commit(struct rev_info *revs)
|
|||||||
if (obj->flags & UNINTERESTING)
|
if (obj->flags & UNINTERESTING)
|
||||||
continue;
|
continue;
|
||||||
obj = deref_tag(revs->repo, obj, NULL, 0);
|
obj = deref_tag(revs->repo, obj, NULL, 0);
|
||||||
if (obj->type != OBJ_COMMIT)
|
if (!obj || obj->type != OBJ_COMMIT)
|
||||||
die("Non commit %s?", revs->pending.objects[i].name);
|
die("Non commit %s?", revs->pending.objects[i].name);
|
||||||
if (commit)
|
if (commit)
|
||||||
die("More than one commit to dig from: %s and %s?",
|
die("More than one commit to dig from: %s and %s?",
|
||||||
|
Loading…
Reference in New Issue
Block a user