summaryrefslogtreecommitdiff
path: root/setup.c
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2016-01-22 08:35:49 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-01-22 22:28:42 (GMT)
commit618244e160cb0777bc8d41055f7de0192b10ea0f (patch)
treeb414b7f5842a0b09ac307982a190649aa8492c0b /setup.c
parentd4cddd66d7ab620fe449ab01382b27178c908c10 (diff)
downloadgit-618244e160cb0777bc8d41055f7de0192b10ea0f.zip
git-618244e160cb0777bc8d41055f7de0192b10ea0f.tar.gz
git-618244e160cb0777bc8d41055f7de0192b10ea0f.tar.bz2
worktree: stop supporting moving worktrees manually
The current update_linked_gitdir() has a bug that can create "gitdir" file in non-multi-worktree setup. Worse, sometimes it can write relative path to "gitdir" file, which will not work (e.g. "git worktree list" will display the worktree's location incorrectly) Instead of fixing this, we step back a bit. The original design was probably not well thought out. For now, if the user manually moves a worktree, they have to fix up "gitdir" file manually or the worktree will get pruned. Helped-by: Eric Sunshine <sunshine@sunshineco.com> 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 'setup.c')
-rw-r--r--setup.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/setup.c b/setup.c
index b264471..2e9cc73 100644
--- a/setup.c
+++ b/setup.c
@@ -401,17 +401,6 @@ static int check_repository_format_gently(const char *gitdir, int *nongit_ok)
return ret;
}
-static void update_linked_gitdir(const char *gitfile, const char *gitdir)
-{
- struct strbuf path = STRBUF_INIT;
- struct stat st;
-
- strbuf_addf(&path, "%s/gitdir", gitdir);
- if (stat(path.buf, &st) || st.st_mtime + 24 * 3600 < time(NULL))
- write_file(path.buf, "%s", gitfile);
- strbuf_release(&path);
-}
-
/*
* Try to read the location of the git directory from the .git file,
* return path to git directory if found.
@@ -481,7 +470,6 @@ const char *read_gitfile_gently(const char *path, int *return_error_code)
error_code = READ_GITFILE_ERR_NOT_A_REPO;
goto cleanup_return;
}
- update_linked_gitdir(path, dir);
path = real_path(dir);
cleanup_return: