worktree: drop get_worktrees() special-purpose sorting option

Of all the clients of get_worktrees(), only "git worktree list" wants
the list sorted in a very specific way; other clients simply don't care
about the order. Rather than imbuing get_worktrees() with special
knowledge about how various clients -- now and in the future -- may want
the list sorted, drop the sorting capability altogether and make it the
client's responsibility to sort the list if needed.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Eric Sunshine
2020-06-19 19:35:43 -04:00
committed by Junio C Hamano
parent 810382ed37
commit d9c54c2bbf
3 changed files with 23 additions and 22 deletions

View File

@@ -18,17 +18,12 @@ struct worktree {
int lock_reason_valid; /* private */
};
/* Functions for acting on the information about worktrees. */
#define GWT_SORT_LINKED (1 << 0) /* keeps linked worktrees sorted */
/*
* Get the worktrees. The primary worktree will always be the first returned,
* and linked worktrees will be pointed to by 'next' in each subsequent
* worktree. No specific ordering is done on the linked worktrees.
* and linked worktrees will follow in no particular order.
*
* The caller is responsible for freeing the memory from the returned
* worktree(s).
* worktrees by calling free_worktrees().
*/
struct worktree **get_worktrees(unsigned flags);