Re: What's cooking in git.git (Aug 2015, #05; Fri, 28)
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:06:22
Christian Couder [off-list ref] writes:
quoted
* dt/refs-bisection (2015-08-28) 5 commits - bisect: make bisection refs per-worktree - refs: make refs/worktree/* per-worktree - SQUASH??? - path: optimize common dir checking - refs: clean up common_list Move the refs used during a "git bisect" session to per-worktree hierarchy refs/worktree/* so that independent bisect sessions can be done in different worktrees. Will merge to 'next' after squashing the update in.Sorry if I am missing something or repeating what myself or someone else like Michael already said, but in the current doc there is: Eventually there will be no more revisions left to bisect, and you will have been left with the first bad kernel revision in "refs/bisect/bad". If we now just use "refs/worktree/bisect/bad" instead of "refs/bisect/bad", it might break scripts that rely using "refs/bisect/bad".
Christian, thanks for raising this one. I do recall the thread and I might be the somebody like Michael you remember, e.g. $gmane/275105---which did mention that "git bisect" would not need changing if we kept refs/bisect/. What was the reason why we chose to move to refs/worktree/ again? I do not think there was an issue that we cannot keep refs/* in general shared while having one (or more) subhierarchy of it per worktree (otherwise we would not be using refs/worktree/*, but using something outside refs/, like $GIT_DIR/worktree-refs/). Was there an objection to refs/bisect being private from aesthetics point of view (i.e. forcing everything per-worktree in refs/worktree/ would prevent proliferation of refs/this and refs/that that need to be private case by case), ignoring the practical issue of compatibility issues around existing tools? I think one example of script, "gitk --bisect", does want to show the DAG limited by bisect refs, but it does so using plumbing without having to say refs/bisect/bad itself. Perhaps the thinking (or lack of enough of it) went that no other uses by scripts need to peek directly into refs/bisect/ hierarchy?