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

Re: [PATCH 0/4] remote-hg: more improvements

From
PVPhilippe Vaucher <philippe.vaucher@gmail.com>
Date
May 14, 2014, 09:12 UTC
Message-ID
<CAGK7Mr7AcqKnEBk1NwzJFJVSSQE9uWTE00zi+B9z6i0V5tBrEg@mail.gmail.com>
In-Reply-To
<xmqq8uq6rd30.fsf@gitster.dls.corp.google.com>
Show 47 quoted lines
>>> It is *way* beyond the quality of any other tool in 'contrib/' and even
>>> some tools in the core, like 'git-request-pull' (which has known bugs),
>>> and probably even 'git-pt'.
>>
>> Junio, can you comment on this? I understand this probably doesn't
>> really affect the issue at hand, but it'd help clarify if it's ever
>> possible to move out of contrib/ nowadays.
>
> I was originally led to believe that its code quality was good
> enough, and that was why I merged the bottom three patches of the
> series even down to 'next' in the first place.  But after seeing the
> "Of course" response that led to [*1*], which made me recall many
> patch-review interactions with him, I have started to have doubts.
>
> The code quality of Git that many projects have come to trust their
> code with is much more than just "the code at each moment keeps
> working for the users as long as the original author is around".
> The maintainer of a port to the platform X may lose access to the
> platform after switching jobs, the maintainer of a bridge to the
> foreign system Y may stop needing to talk to the foreign system
> after completing the switch to Git.  Anybody can be hit by a bus,
> get sick, or simply lose interest in his past creations.
>
> By reading "git log contrib/remote-helpers" and comparing it with
> the logs for the rest of the system, you would realize that the
> former would not lead to a quality discussion similar to the one
> that led to [*2*], which was only possible because the change was
> adequately described to allow anybody to understand the original
> issue the change was meant to solve.  The commit that made the
> original change made it easy to ask a critical question: "You are
> improving B but at the same time breaking A.  Can we do better to
> help both A and B?"  And it allowed us to move forward without
> having to rob Peter to pay Paul.
>
> Granted, these contrib/ patches were applied with the understanding
> that contrib/ stuff can be substandard, because having anything is
> often better than having nothing, and you cannot go back in time to
> update the history to make these commits more useful to others who
> will come later.  But I would be lying if I said that I would expect
> that things will suddenly improve and that the codebase will be
> maintained for the long haul in a healthy way the minute we move it
> out of contrib/ to the core.  Especially after seeing [*1*], which
> is just one of the examples that illustrate that there clearly is no
> will to explain the changes to help others who come later to help
> maintaining the code.  "I'll take good care of the codebase", "I've
> spend the time to make it better", "Me, me, me", is not what the
> open source process is about.

Thanks for the explanation. I think it underlines well the A) technical issues (quality commits) and the B) social issues (ability to communicate in a friendly way & respond constructively), which we discovered are both *essential* for contributing to git.

Neglate one or the other, and sooner or later people will refuse to collaborate with you, because it's just too much "work" to deal with the downsides.

My hope is that for future events of this nature to be detected sooner and dealt with more rigidly, e.g by making it clear this or that behavior is not acceptable. I think part of the problem here is that we let the situation install itself, by accepting B-side issues just because A-side was ok, hopeful that B-side would solve itself.

Philippe
Previous: Felipe ContrerasNext: David Kastrup
Message 21 of 49 in “remote-hg: more improvements”
  1. 0/4 remote-hg: more improvementsFelipe Contreras, May 4, 2014
  2. 1/4 remote-hg: add more testsFelipe Contreras, May 4, 2014
  3. Eric SunshineMay 4, 2014
  4. 2/4 t: remote-hg: add file operation testsFelipe Contreras, May 4, 2014
  5. 3/4 t: remote-hg: trivial cleanups and fixesFelipe Contreras, May 4, 2014
  6. 4/4 remote-hg: add support for hg v3.0Felipe Contreras, May 4, 2014
  7. Junio C HamanoMay 7, 2014
  8. Felipe ContrerasMay 7, 2014
  9. Junio C HamanoMay 7, 2014
  10. Felipe ContrerasMay 7, 2014
  11. Junio C HamanoMay 7, 2014
  12. Felipe ContrerasMay 8, 2014
  13. James DenholmMay 8, 2014
  14. Felipe ContrerasMay 8, 2014
  15. Philippe VaucherMay 11, 2014
  16. Philippe VaucherMay 12, 2014
  17. Junio C HamanoMay 12, 2014
  18. Felipe ContrerasMay 12, 2014
  19. Junio C HamanoMay 12, 2014
  20. Felipe ContrerasMay 12, 2014
  21. Philippe VaucherMay 14, 2014
  22. David KastrupMay 14, 2014
  23. Philippe VaucherMay 14, 2014
  24. David KastrupMay 14, 2014
  25. Philippe VaucherMay 14, 2014
  26. David KastrupMay 14, 2014
  27. Philippe VaucherMay 14, 2014
  28. David KastrupMay 14, 2014
  29. Philippe VaucherMay 14, 2014
  30. Felipe ContrerasMay 14, 2014
  31. David KastrupMay 14, 2014
  32. Felipe ContrerasMay 14, 2014
  33. David KastrupMay 14, 2014
  34. Felipe ContrerasMay 14, 2014
  35. David KastrupMay 15, 2014
  36. Junio C HamanoMay 14, 2014
  37. David KastrupMay 14, 2014
  38. Junio C HamanoMay 14, 2014
  39. Junio C HamanoMay 8, 2014
  40. Felipe ContrerasMay 8, 2014
  41. Junio C HamanoMay 8, 2014
  42. Felipe ContrerasMay 8, 2014
  43. Junio C HamanoMay 8, 2014
  44. Felipe ContrerasMay 8, 2014
  45. Junio C HamanoMay 8, 2014
  46. Felipe ContrerasMay 8, 2014
  47. Felipe ContrerasMay 9, 2014
  48. Junio C HamanoMay 9, 2014
  49. Felipe ContrerasMay 9, 2014

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.