提交 521331cc 编写于 作者: M Michael Haggerty 提交者: Junio C Hamano

struct nonmatching_ref_data: store a refname instead of a ref_entry

Now that we don't need a ref_entry to pass to
report_refname_conflict(), it is sufficient to store the refname of
the conflicting reference.
Signed-off-by: NMichael Haggerty <mhagger@alum.mit.edu>
上级 385e8af5
...@@ -843,7 +843,7 @@ static void prime_ref_dir(struct ref_dir *dir) ...@@ -843,7 +843,7 @@ static void prime_ref_dir(struct ref_dir *dir)
struct nonmatching_ref_data { struct nonmatching_ref_data {
const struct string_list *skip; const struct string_list *skip;
struct ref_entry *found; const char *conflicting_refname;
}; };
static int nonmatching_ref_fn(struct ref_entry *entry, void *vdata) static int nonmatching_ref_fn(struct ref_entry *entry, void *vdata)
...@@ -853,7 +853,7 @@ static int nonmatching_ref_fn(struct ref_entry *entry, void *vdata) ...@@ -853,7 +853,7 @@ static int nonmatching_ref_fn(struct ref_entry *entry, void *vdata)
if (data->skip && string_list_has_string(data->skip, entry->name)) if (data->skip && string_list_has_string(data->skip, entry->name))
return 0; return 0;
data->found = entry; data->conflicting_refname = entry->name;
return 1; return 1;
} }
...@@ -963,7 +963,8 @@ static int is_refname_available(const char *refname, ...@@ -963,7 +963,8 @@ static int is_refname_available(const char *refname,
if (!do_for_each_entry_in_dir(dir, 0, nonmatching_ref_fn, &data)) if (!do_for_each_entry_in_dir(dir, 0, nonmatching_ref_fn, &data))
return 1; return 1;
error("'%s' exists; cannot create '%s'", data.found->name, refname); error("'%s' exists; cannot create '%s'",
data.conflicting_refname, refname);
return 0; return 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册