On Wed, Nov 23, 2016 at 11:52 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> writes: > >> This fixes two things: >> >> - make sure the first item is always the main worktree even if we >> fail to retrieve some info >> >> - keep 'worktree list' order stable (which in turn fixes the random >> failure on my 'worktree-move' series >> Nguyễn Thái Ngọc Duy (3): >> worktree.c: zero new 'struct worktree' on allocation >> get_worktrees() must return main worktree as first item even on error >> worktree list: keep the list sorted >> >> builtin/worktree.c | 26 ++++++++++++++++++++++---- >> worktree.c | 20 ++++---------------- >> 2 files changed, 26 insertions(+), 20 deletions(-) > > Any tests? I discarded the idea of adding test for sorting because it relies on filesystems. A passed test may just mean the filesystem happens to return files in "good" order. But I guess a test wouldn't hurt. Somewhere out there some user may still have a "bad" filesystem and the test could help catch breakage then. Adding the test for the failed parse_ref() is possible, I think. But since that function is destined to die, as I promised to use refs-provided api instead of rolling out a custom ref parser, and I'm going to have another hard look at refs subsystem for the gc-not-looking-at-worktree-refs problem, may I make another promise to add tests after this function is gone? It should happen "soon". -- Duy