branch: do not rename a branch under bisect or rebase

The branch name in that case could be saved in rebase's head_name or
bisect's BISECT_START files. Ideally we should try to update them as
well. But it's trickier (*). Let's play safe and see if the user
complains about inconveniences before doing that.

(*) If we do it, bisect and rebase need to provide an API to rename
branches. We can't do it in worktree.c or builtin/branch.c because
when other people change rebase/bisect code, they may not be aware of
this code and accidentally break it (e.g. rename the branch file, or
refer to the branch in new files). It's a lot more work.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Nguyễn Thái Ngọc Duy
2016-04-22 20:01:36 +07:00
committed by Junio C Hamano
parent 04a3dfb8b5
commit 14ace5b77b
4 changed files with 40 additions and 4 deletions

View File

@ -216,8 +216,8 @@ const char *get_worktree_git_dir(const struct worktree *wt)
return git_common_path("worktrees/%s", wt->id);
}
static int is_worktree_being_rebased(const struct worktree *wt,
const char *target)
int is_worktree_being_rebased(const struct worktree *wt,
const char *target)
{
struct wt_status_state state;
int found_rebase;
@ -234,8 +234,8 @@ static int is_worktree_being_rebased(const struct worktree *wt,
return found_rebase;
}
static int is_worktree_being_bisected(const struct worktree *wt,
const char *target)
int is_worktree_being_bisected(const struct worktree *wt,
const char *target)
{
struct wt_status_state state;
int found_rebase;