Merge branch 'js/deprecate-grafts'

The functionality of "$GIT_DIR/info/grafts" has been superseded by
the "refs/replace/" mechanism for some time now, but the internal
code had support for it in many places, which has been cleaned up
in order to drop support of the "grafts" mechanism.

* js/deprecate-grafts:
  Remove obsolete script to convert grafts to replace refs
  technical/shallow: describe why shallow cannot use replace refs
  technical/shallow: stop referring to grafts
  filter-branch: stop suggesting to use grafts
  Deprecate support for .git/info/grafts
  Add a test for `git replace --convert-graft-file`
  replace: introduce --convert-graft-file
  replace: prepare create_graft() for converting graft files wholesale
  replace: "libify" create_graft() and callees
  replace: avoid using die() to indicate a bug
  commit: Let the callback of for_each_mergetag return on error
  argv_array: offer to split a string by whitespace
This commit is contained in:
Junio C Hamano
2018-05-23 14:38:17 +09:00
14 changed files with 273 additions and 117 deletions

View File

@ -488,9 +488,9 @@ static int is_common_merge(const struct commit *commit)
&& !commit->parents->next->next);
}
static void show_one_mergetag(struct commit *commit,
struct commit_extra_header *extra,
void *data)
static int show_one_mergetag(struct commit *commit,
struct commit_extra_header *extra,
void *data)
{
struct rev_info *opt = (struct rev_info *)data;
struct object_id oid;
@ -502,7 +502,7 @@ static void show_one_mergetag(struct commit *commit,
hash_object_file(extra->value, extra->len, type_name(OBJ_TAG), &oid);
tag = lookup_tag(&oid);
if (!tag)
return; /* error message already given */
return -1; /* error message already given */
strbuf_init(&verify_message, 256);
if (parse_tag_buffer(tag, extra->value, extra->len))
@ -536,11 +536,12 @@ static void show_one_mergetag(struct commit *commit,
show_sig_lines(opt, status, verify_message.buf);
strbuf_release(&verify_message);
return 0;
}
static void show_mergetag(struct rev_info *opt, struct commit *commit)
static int show_mergetag(struct rev_info *opt, struct commit *commit)
{
for_each_mergetag(show_one_mergetag, commit, opt);
return for_each_mergetag(show_one_mergetag, commit, opt);
}
void show_log(struct rev_info *opt)