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

Re: [PATCH 00/11] nd/worktree-move update

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 3, 2017, 18:25 UTC
Message-ID
<xmqqtw8bf7xn.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CACsJy8Cq8sY1hL75Xs_MMr9r_+jjr7p+58D+0GhT3mgSgiUEtg@mail.gmail.com>
Duy Nguyen <pclouds@gmail.com> writes:
Show 15 quoted lines
> On Fri, Feb 3, 2017 at 3:21 AM, Junio C Hamano <gitster@pobox.com> wrote:
>> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>>
>>> Also, the more important reply was Peff's reply that suggested that the
>>> proposed fix was incomplete, as it misses --unpack-unreachable:
>>> https://public-inbox.org/git/20160601160143.GA9219@sigill.intra.peff.net/
>>
>> While I think that --unpack-unreachable thing is a symptom of the
>> basic approach of patching things up at the wrong level, if you are
>> hinting that fix to the issue that gc does not pay attention to
>> various anchoring point in other worktrees is more important than
>> adding new commands to "worktree", I fully agree with that.
>
> Just to make it clear. It's not like I put new worktree commands on
> higher priority.
Good; we are on the same page.
> "worktree move/remove" was more or less ready for a
> long time and the gc problem was blocked by ref-iterator series (which
> entered master a few moths ago, but then I was busy with other things
> and couldn't get right back to the gc issue).
OK.
> You didn't answer Johannes's rhetoric question though: "It should be
> possible to do that redesign work while having a small workaround in
> place that unbreaks, say, me?"

I do not recall seeing that. I however deliberately ignored another statement because I thought it enough to answer, which was:

    Given that
    https://public-inbox.org/git/xmqqy46ntrhk.fsf@gitster.mtv.corp.google.com/
    seems to have expected something to happen within a reasonable time frame,
    and that 8 months is substantially longer than a reasonable time frame, I
    am not sure that that position can still be defended.

In the message xmqqy46ntrhk is a response to, Michael enumerated the issues need to be solved with priorities, and listed reachability from the index and per-worktree detached HEAD are more important than others. I was hoping that even these "relatively more important" ones would turn out be of less importance compared to fixing all on the right foundation as long as it won't take forever, but I do agree with Dscho that 8 months is way too long.

Show 6 quoted lines
> I assume "the right way" is still updating refs subsystem so that we
> can have a ref iterator to traverse all refs, or just one worktree,
> etc. Should I keep looking for a middle ground (maybe better than the
> linked series) to "unbreak Johannes"? I ignored all those comments
> (about --unpack-reachable and bisect refs) because I saw no chance of
> an updated series getting in git.git anyway.

So, you may have seen no chance 8 months ago; after we have been waiting for a better fix, which hadn't materialized for a while, I am very much open to change the priority.

Even if you think "the right way" is to add to the iterators, I suspect that we can still do incremental fixes? I agree with the order of importance Michael listed in his message (i.e. the index and the HEAD first, and then other per-worktree hierarchies at lower priority), and I suspect you do, too. I am not sure that is what you called "middle ground", but I think such an incremental approach is totally fine.

Previous: Duy NguyenNext: Junio C Hamano
Message 23 of 25 in “nd/worktree-move update”
  1. 00/11 nd/worktree-move updateNguyễn Thái Ngọc Duy, Feb 2, 2017
  2. 01/11 worktree.c: zero new 'struct worktree' on allocationNguyễn Thái Ngọc Duy, Feb 2, 2017
  3. 02/11 worktree: reorder an if statementNguyễn Thái Ngọc Duy, Feb 2, 2017
  4. 03/11 get_worktrees() must return main worktree as first item even on errorNguyễn Thái Ngọc Duy, Feb 2, 2017
  5. 05/11 worktree list: keep the list sortedNguyễn Thái Ngọc Duy, Feb 2, 2017
  6. 04/11 worktree.c: get_worktrees() takes a new flag argumentNguyễn Thái Ngọc Duy, Feb 2, 2017
  7. 06/11 worktree.c: add validate_worktree()Nguyễn Thái Ngọc Duy, Feb 2, 2017
  8. 08/11 worktree move: new commandNguyễn Thái Ngọc Duy, Feb 2, 2017
  9. 07/11 worktree.c: add update_worktree_location()Nguyễn Thái Ngọc Duy, Feb 2, 2017
  10. 09/11 worktree move: accept destination as directoryNguyễn Thái Ngọc Duy, Feb 2, 2017
  11. 11/11 worktree remove: new commandNguyễn Thái Ngọc Duy, Feb 2, 2017
  12. 10/11 worktree move: refuse to move worktrees with submodulesNguyễn Thái Ngọc Duy, Feb 2, 2017
  13. Johannes SchindelinFeb 2, 2017
  14. Duy NguyenFeb 2, 2017
  15. Johannes SchindelinFeb 2, 2017
  16. Duy NguyenFeb 2, 2017
  17. Johannes SchindelinFeb 2, 2017
  18. Duy NguyenFeb 2, 2017
  19. Johannes SchindelinFeb 2, 2017
  20. Johannes SchindelinFeb 2, 2017
  21. Junio C HamanoFeb 2, 2017
  22. Duy NguyenFeb 3, 2017
  23. Junio C HamanoFeb 3, 2017
  24. Junio C HamanoFeb 3, 2017
  25. Duy NguyenFeb 4, 2017

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.