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

Re: [Discussion] The architecture of Scalar (and others) within Git

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 5, 2021, 04:20 UTC
Message-ID
<xmqq7ddnz115.fsf@gitster.g>
In-Reply-To
<nycvar.QRO.7.76.6.2111031833580.56@tvgsbejvaqbjf.bet>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 10 quoted lines
> Even so, I targeted `contrib/` with my patch series because
> `contrib/README` says:
>
>     The intention is to keep interesting tools around git here, maybe
>     even experimental ones, to give users an easier access to them,
>     and to give tools wider exposure, so that they can be improved
>     faster.
>
> Does this README's intent still apply, or has the purpose of contrib/
> changed?

The intent may still be the same, but my suspicion is that the world has changed sufficiently to make contrib/ that is offered with such an intent no longer is useful. In other words, "contrib/" as a nursery may have been our dream, but the dream did not materialize and may have outlived its usefulness.

Show 16 quoted lines
> Would you like me to organize the code and patches such that they more
> clearly fall under your maintenance once the patches are merged? If that
> is your preference, I will gladly put in the work.
>
> When I submitted the Scalar patches, I did not want to burden you with
> maintaining it, I expected to maintain Scalar going forward, but maybe
> that is not your preference? I assumed it to be my maintenance burden, we
> aim to support backward compatibility for existing Scalar users, after
> all. Absolutely everything else, however, is up for discussion, subject to
> the full scrutiny of the community and to the same standards of a
> submission to the core of the project.
>
> And I see your point about backward compatibility: The Git project has
> plenty of experience with maintaining backward compatibility and _still_
> improving on initial designs. I therefore can easily give up my hard “this
> command-line interface must not be changed” stance.
It depends on how you define "maintenance".

Many parts of the system (e.g. difftool, commit-graph, pack bitmaps, multi-pack index, sparse-index, po, and gitweb) may "fall under my maintenance", but you can see that I am not heavily involved in any of these areas, other than serving mostly as a traffic cop. If a patch that touches some area comes, I may trust input from folks who are more deeply involved in the area (e.g. input from Taylor better than from other folks, including mine, for a patch that touches midx) when deciding if the patch needs revising or if it is ready.

I would expect that is more or less how things would work for anything that is in my tree. And I do not think it would be any different for Scalar. I would expect that any bugfixes or new features would be redirected to you folks. Ehh, not that you would need redirecting---I'd expect you'd jump on them even _before_ I would react ;-)

Previous: Johannes Schindelin
Message 16 of 16 in “[Discussion] The architecture of Scalar (and others) within Git”
  1. Derrick StoleeOct 27, 2021
  2. Johannes SchindelinOct 28, 2021
  3. Philip OakleyOct 28, 2021
  4. contrib: build & test scalar by default, optionally installÆvar Arnfjörð Bjarmason, Oct 28, 2021
  5. 0/1 scalar: move to the top-level, test, CI and "install" supportÆvar Arnfjörð Bjarmason, Jun 23, 2022
  6. 1/1 scalar: reorganize from contrib/, still keep it "a contrib command"Ævar Arnfjörð Bjarmason, Jun 23, 2022
  7. Derrick StoleeJun 23, 2022
  8. Ævar Arnfjörð BjarmasonJun 23, 2022
  9. Derrick StoleeJun 23, 2022
  10. Ævar Arnfjörð BjarmasonJun 24, 2022
  11. Junio C HamanoJun 24, 2022
  12. Ævar Arnfjörð BjarmasonOct 28, 2021
  13. Derrick StoleeNov 4, 2021
  14. Junio C HamanoNov 1, 2021
  15. Johannes SchindelinNov 4, 2021
  16. Junio C HamanoNov 5, 2021

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.