Skip to content
  • Duy Nguyen's avatar
    worktree prune: improve prune logic when worktree is moved · 327864aa
    Duy Nguyen authored and Junio C Hamano's avatar Junio C Hamano committed
    Automatic detection of worktree relocation by a user (via 'mv', for
    instance) was removed by 618244e1
    
     (worktree: stop supporting moving
    worktrees manually - 2016-01-22). Prior to that,
    .git/worktrees/<tag>/gitdir was updated whenever the worktree was
    accessed in order to let the pruning logic know that the worktree was
    "active" even if it disappeared for a while (due to being located on
    removable media, for instance).
    
    "git worktree move" has come so we don't really need this, but since
    it's easy to do, perhaps we could keep supporting manual worktree move
    a bit longer. Notice that when a worktree is active, the "index" file
    should be updated pretty often in common case. The logic is updated to
    check for index mtime to see if the worktree is alive.
    
    The old logic of checking gitdir's mtime is dropped because nobody
    updates it anyway. The new corner case is, if the index file does not
    exist, we immediately remove the stale worktree. But if the "index"
    file does not exist, you may have a bigger problem.
    
    Signed-off-by: default avatarNguyễn Thái Ngọc Duy <pclouds@gmail.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    327864aa