summaryrefslogtreecommitdiff
path: root/branch.c
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2017-04-24 10:01:24 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-04-25 04:28:55 (GMT)
commitd026a25657cbe15ceb6bcb5d5047a36a0a70b33e (patch)
tree4c4a039734f8ad8abdcca2e27bb1cd0af506491d /branch.c
parentfa099d23227f88b5a1cd79c646551130d9b36e6d (diff)
downloadgit-d026a25657cbe15ceb6bcb5d5047a36a0a70b33e.zip
git-d026a25657cbe15ceb6bcb5d5047a36a0a70b33e.tar.gz
git-d026a25657cbe15ceb6bcb5d5047a36a0a70b33e.tar.bz2
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.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/branch.c b/branch.c
index 0b949b7..69d5eea 100644
--- a/branch.c
+++ b/branch.c
@@ -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);