path: root/builtin/worktree.c
diff options
authorNguyễn Thái Ngọc Duy <>2018-03-15 16:44:11 (GMT)
committerJunio C Hamano <>2018-03-15 19:37:47 (GMT)
commit3800135b8955cd9bf43c8599e6d41774a0e8e986 (patch)
tree3a504bab470b201dcf67432d6a1b35c314cfe42c /builtin/worktree.c
parentb586a96a399be78fa49a95682e52ff96c9e5ca3f (diff)
worktree: delete dead code
This "link" was a feature in early iterations of multiple worktree functionality for some reason it was dropped [1]. Since nobody creates this "link", there's no need to check it. This is mostly used to let the user moves a worktree manually [2]. If you move a worktree within the same file system, this hard link count lets us know the worktree is still there even if we don't know where it is. We support 'worktree move' now and don't need this anymore. [1] last appearance in v4 message-id: and the reason in v5 was "revisit later", message-id: [2] 23af91d102 (prune: strategies for linked checkouts - 2014-11-30) Signed-off-by: Nguyễn Thái Ngọc Duy <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'builtin/worktree.c')
1 files changed, 0 insertions, 8 deletions
diff --git a/builtin/worktree.c b/builtin/worktree.c
index 4e7c987..60440c4 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c
@@ -99,15 +99,7 @@ static int prune_worktree(const char *id, struct strbuf *reason)
path[len] = '\0';
if (!file_exists(path)) {
- struct stat st_link;
- /*
- * the repo is moved manually and has not been
- * accessed since?
- */
- if (!stat(git_path("worktrees/%s/link", id), &st_link) &&
- st_link.st_nlink > 1)
- return 0;
if (st.st_mtime <= expire) {
strbuf_addf(reason, _("Removing worktrees/%s: gitdir file points to non-existent location"), id);
return 1;