diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2015-08-25 17:30:46 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-08-25 09:39:08 -0700 |
commit | 82fde87ff3be8d10854df18964e5816417a1d7cf (patch) | |
tree | 673846bd0ae86a2647ad95269572c2401a65d558 | |
parent | a17c56c056d5fea0843b429132904c429a900229 (diff) | |
download | git-82fde87ff3be8d10854df18964e5816417a1d7cf.tar.gz |
setup: update the right file in multiple checkoutsnd/fixup-linked-gitdir
This code is introduced in 23af91d (prune: strategies for linked
checkouts - 2014-11-30), and it's supposed to implement this rule from
that commit's message:
- linked checkouts are supposed to keep its location in $R/gitdir up
to date. The use case is auto fixup after a manual checkout move.
Note the name, "$R/gitdir", not "$R/gitfile". Correct the path to be
updated accordingly.
While at there, make sure I/O errors are not silently dropped.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | setup.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -402,9 +402,9 @@ static void update_linked_gitdir(const char *gitfile, const char *gitdir) struct strbuf path = STRBUF_INIT; struct stat st; - strbuf_addf(&path, "%s/gitfile", gitdir); + strbuf_addf(&path, "%s/gitdir", gitdir); if (stat(path.buf, &st) || st.st_mtime + 24 * 3600 < time(NULL)) - write_file(path.buf, 0, "%s\n", gitfile); + write_file(path.buf, 1, "%s\n", gitfile); strbuf_release(&path); } |