зеркало из https://github.com/microsoft/git.git
branch: avoid unnecessary worktrees traversals
When we rename a branch ref, we need to update any worktree that have its HEAD pointing to the branch ref being renamed, so to make it use the new ref name. If we know in advance that we're renaming a branch that is not currently checked out in any worktree, we can skip this step entirely. Let's do it so. Signed-off-by: Rubén Justo <rjusto@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
a675ad1708
Коммит
3521c63213
|
@ -617,7 +617,7 @@ static void copy_or_rename_branch(const char *oldname, const char *newname, int
|
|||
interpreted_oldname);
|
||||
}
|
||||
|
||||
if (!copy &&
|
||||
if (!copy && (oldref_usage & IS_HEAD) &&
|
||||
replace_each_worktree_head_symref(worktrees, oldref.buf, newref.buf,
|
||||
logmsg.buf))
|
||||
die(_("Branch renamed to %s, but HEAD is not updated!"), newname);
|
||||
|
|
Загрузка…
Ссылка в новой задаче