Merge branch 'zh/push-to-delete-onelevel-ref'
"git push" has been taught to allow deletion of refs with one-level names to help repairing a repository who acquired such a ref by mistake. In general, we don't encourage use of such a ref, and creation or update to such a ref is rejected as before. * zh/push-to-delete-onelevel-ref: push: allow delete single-level ref receive-pack: fix funny ref error messsage
This commit is contained in:
@ -1460,8 +1460,10 @@ static const char *update(struct command *cmd, struct shallow_info *si)
|
||||
find_shared_symref(worktrees, "HEAD", name);
|
||||
|
||||
/* only refs/... are allowed */
|
||||
if (!starts_with(name, "refs/") || check_refname_format(name + 5, 0)) {
|
||||
rp_error("refusing to create funny ref '%s' remotely", name);
|
||||
if (!starts_with(name, "refs/") ||
|
||||
check_refname_format(name + 5, is_null_oid(new_oid) ?
|
||||
REFNAME_ALLOW_ONELEVEL : 0)) {
|
||||
rp_error("refusing to update funny ref '%s' remotely", name);
|
||||
ret = "funny refname";
|
||||
goto out;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user