Browse Source

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:
    1393675983-3232-25-git-send-email-pclouds@gmail.com
    and the reason in v5 was "revisit later", message-id:
    1394246900-31535-1-git-send-email-pclouds@gmail.com
[2] 23af91d102 (prune: strategies for linked checkouts - 2014-11-30)

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Nguyễn Thái Ngọc Duy 7 years ago committed by Junio C Hamano
parent
commit
3800135b89
  1. 5
      Documentation/gitrepository-layout.txt
  2. 8
      builtin/worktree.c

5
Documentation/gitrepository-layout.txt

@ -275,11 +275,6 @@ worktrees/<id>/locked:: @@ -275,11 +275,6 @@ worktrees/<id>/locked::
or manually by `git worktree prune`. The file may contain a string
explaining why the repository is locked.

worktrees/<id>/link::
If this file exists, it is a hard link to the linked .git
file. It is used to detect if the linked repository is
manually removed.

SEE ALSO
--------
linkgit:git-init[1],

8
builtin/worktree.c

@ -99,15 +99,7 @@ static int prune_worktree(const char *id, struct strbuf *reason) @@ -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;
free(path);
/*
* 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;

Loading…
Cancel
Save