git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: What's cooking in git.git (Aug 2015, #05; Fri, 28)

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 31, 2015, 14:36 UTC
Message-ID
<xmqqzj17y16t.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAP8UFD3-Y4T=dQmBVfRR1DEuuRZLSrUvQid8m1YttOnJc5Fj8w@mail.gmail.com>
Christian Couder <christian.couder@gmail.com> writes:
Show 23 quoted lines
>> * 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?

Previous: Christian CouderNext: David Turner
Message 4 of 11 in “What's cooking in git.git (Aug 2015, #05; Fri, 28)”
  1. Junio C HamanoAug 28, 2015
  2. Eric SunshineAug 28, 2015
  3. Christian CouderAug 29, 2015
  4. Junio C HamanoAug 31, 2015
  5. David TurnerAug 31, 2015
  6. Junio C HamanoAug 31, 2015
  7. Christian CouderAug 31, 2015
  8. Matthieu MoyAug 31, 2015
  9. Christian CouderAug 31, 2015
  10. Junio C HamanoAug 31, 2015
  11. Matthieu MoyAug 31, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.