diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2017-04-24 17:01:24 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-04-24 21:28:55 -0700 |
commit | d026a25657cbe15ceb6bcb5d5047a36a0a70b33e (patch) | |
tree | 4c4a039734f8ad8abdcca2e27bb1cd0af506491d /branch.c | |
parent | fa099d23227f88b5a1cd79c646551130d9b36e6d (diff) | |
download | git-d026a25657cbe15ceb6bcb5d5047a36a0a70b33e.tar.gz |
refs: kill set_worktree_head_symref()
70999e9cec (branch -m: update all per-worktree HEADs - 2016-03-27)
added this function in order to update HEADs of all relevant
worktrees, when a branch is renamed.
It, as a public ref api, kind of breaks abstraction when it uses
internal functions of files backend. With the introduction of
refs_create_symref(), we can move back pretty close to the code before
70999e9cec, where create_symref() was used for updating HEAD.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'branch.c')
-rw-r--r-- | branch.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -353,18 +353,18 @@ int replace_each_worktree_head_symref(const char *oldref, const char *newref, int i; for (i = 0; worktrees[i]; i++) { + struct ref_store *refs; + if (worktrees[i]->is_detached) continue; if (worktrees[i]->head_ref && strcmp(oldref, worktrees[i]->head_ref)) continue; - if (set_worktree_head_symref(get_worktree_git_dir(worktrees[i]), - newref, logmsg)) { - ret = -1; - error(_("HEAD of working tree %s is not updated"), - worktrees[i]->path); - } + refs = get_worktree_ref_store(worktrees[i]); + if (refs_create_symref(refs, "HEAD", newref, logmsg)) + ret = error(_("HEAD of working tree %s is not updated"), + worktrees[i]->path); } free_worktrees(worktrees); |