rename_ref_available(): add docstring
And improve the internal variable names. Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f6e75467ca
commit
ff3a299c45
12
refs.c
12
refs.c
@ -1081,20 +1081,20 @@ const char *find_descendant_ref(const char *dirname,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int rename_ref_available(const char *oldname, const char *newname)
|
int rename_ref_available(const char *old_refname, const char *new_refname)
|
||||||
{
|
{
|
||||||
struct string_list skip = STRING_LIST_INIT_NODUP;
|
struct string_list skip = STRING_LIST_INIT_NODUP;
|
||||||
struct strbuf err = STRBUF_INIT;
|
struct strbuf err = STRBUF_INIT;
|
||||||
int ret;
|
int ok;
|
||||||
|
|
||||||
string_list_insert(&skip, oldname);
|
string_list_insert(&skip, old_refname);
|
||||||
ret = !verify_refname_available(newname, NULL, &skip, &err);
|
ok = !verify_refname_available(new_refname, NULL, &skip, &err);
|
||||||
if (!ret)
|
if (!ok)
|
||||||
error("%s", err.buf);
|
error("%s", err.buf);
|
||||||
|
|
||||||
string_list_clear(&skip, 0);
|
string_list_clear(&skip, 0);
|
||||||
strbuf_release(&err);
|
strbuf_release(&err);
|
||||||
return ret;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
int head_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data)
|
int head_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data)
|
||||||
|
@ -240,7 +240,17 @@ const char *find_descendant_ref(const char *dirname,
|
|||||||
const struct string_list *extras,
|
const struct string_list *extras,
|
||||||
const struct string_list *skip);
|
const struct string_list *skip);
|
||||||
|
|
||||||
int rename_ref_available(const char *oldname, const char *newname);
|
/*
|
||||||
|
* Check whether an attempt to rename old_refname to new_refname would
|
||||||
|
* cause a D/F conflict with any existing reference (other than
|
||||||
|
* possibly old_refname). If there would be a conflict, emit an error
|
||||||
|
* message and return false; otherwise, return true.
|
||||||
|
*
|
||||||
|
* Note that this function is not safe against all races with other
|
||||||
|
* processes (though rename_ref() catches some races that might get by
|
||||||
|
* this check).
|
||||||
|
*/
|
||||||
|
int rename_ref_available(const char *old_refname, const char *new_refname);
|
||||||
|
|
||||||
/* We allow "recursive" symbolic refs. Only within reason, though */
|
/* We allow "recursive" symbolic refs. Only within reason, though */
|
||||||
#define SYMREF_MAXDEPTH 5
|
#define SYMREF_MAXDEPTH 5
|
||||||
|
Loading…
Reference in New Issue
Block a user