prune --worktrees: fix expire vs worktree existence condition
commit562bc080934b1bd16099723e80cc82a0dc6356b7
authorMax Kirillov <max@max630.net>
Mon, 30 Mar 2015 20:47:47 +0000 (30 23:47 +0300)
committerJunio C Hamano <gitster@pobox.com>
Tue, 31 Mar 2015 18:02:11 +0000 (31 11:02 -0700)
tree8ba6b41358d89bf301ad9c6782088be7a0440024
parent466e8d5d660ba732c1065ab3329c91e4b4aa7739
prune --worktrees: fix expire vs worktree existence condition

`git prune --worktrees` was pruning worktrees which were non-existent OR
expired, while it rather should prune those which are orphaned AND
expired, as git-checkout documentation describes. Fix it.

Add test 'not prune proper checkouts', which uses valid but expired
worktree.

Modify test 'not prune recent checkouts' to remove the worktree before
pruning - link in worktrees still must survive. In older form it is
useless because would pass always when the other test passes.

Signed-off-by: Max Kirillov <max@max630.net>
Acked-by: Duy Nguyen <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/prune.c
t/t2026-prune-linked-checkouts.sh