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

Re: [PATCH v4 0/4] refs: run copy and rename through transactions

From
Maciej Ciemborowicz <maciej.ciemborowicz@gmail.com>
Date
Oct 8, 2026, 19:06 UTC
Message-ID
<CACQ=SRHRp4vKpV5JagAXS1n4iX-LJ7fm78OwMGB5fke2CTC4FQ@mail.gmail.com>
In-Reply-To
<xmqqqzi02o22.fsf@gitster.g>
On Thu, Oct 8, 2026 at 5:46 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 10 quoted lines
> A response to reviews on the N-th round must come long before
> sending the v(N+1) round of patches.  Some contributors send them
> after v(N+1), or immediately before, but the proper time to respond
> is soon after receiving the reviews on vN and having had enough time
> to understand the comments, before starting work on v(N+1).  Only
> after that work is complete would you send the new patches.  Hence,
> we expect the time between vN and v(N+1) from real contributors to
> be measured in days, not hours.  Whenever I see vN responses arrive
> after or immediately before the v(N+1) patches, or worse, no
> response at all but just the new patches, it smells fishy.
I wouldn't rely on that. It's easy to fake. I'd rather ask for transparency.
> And thanks to your learning, the next patch series you will write would be of much higher quality.

TL;DR: I'm facing a moral dilemma: should I refrain from submitting a patch, or submit one written with the help of AI? If what I'm submitting isn't useful, feel free to say so or simply ignore the patch. If it has value and people are willing to accept it, I'm happy to continue.

My current workflow looks like this:
1. I give an AI agent a task.
2. I check whether the solution works. If it doesn't, I refine the
instructions until it does.
3. I check for edge cases.
4. I do a code review, ask the AI agent to explain what it wrote, and
have it make corrections. My own code review is pretty weak, though,
because I haven't spent (and won't spend) thousands of hours working
with C and Git internals.
5. I ask another AI agent to review the code and think through its
findings. I usually conclude that its review is better than mine.
6. I go back to "writing" code, and the agent implements the changes
suggested during the review.
7. GOTO 4 if I'm still not satisfied.

At this point, I face a moral dilemma, because the next step is to hand the patch over to other people to read, which means asking them to spend their time on it. I have the following options:

1. Report the bug without submitting a patch.
2. Report the bug and spend a month writing the patch myself, learning
Git internals and C along the way. Unfortunately, I'm not planning a
career in C. I've been programming for well over a decade in a
completely different stack, and I simply can't afford to devote that
much time to it. It might be worthwhile if I intended to spend the
next several years working with Git and C, but unfortunately, that's
not an option for me. On top of that, I can't shake the feeling that
AI is already learning faster than I am.
3. Report the bug and solve the problem as well as I can with the help
of an AI agent.

So realistically, my choice comes down to options 1 and 3. And that's my moral dilemma: I don't know whether it's better not to submit a patch at all, or to do the best I can with the time I have, using AI.

Choosing option 3, however, creates another dilemma before submitting the patch: Have I reviewed the code thoroughly enough myself? Do I understand what I'm doing well enough?

I chose option 3, and out of respect for other people's time, I'm doing my best to understand what I'm submitting.

And the only thing I can do to feel that I'm being honest about it is to be transparent and explain exactly what my workflow for developing this patch looks like.

Thanks, Maciej

Previous: Junio C HamanoNext: Kristoffer Haugsbakk
Message 27 of 35 in “[BUG] reference-transaction hook misses destination of git branch -m”
  1. Maciej CiemborowiczSep 19, 2026
  2. Karthik NayakSep 19, 2026
  3. refs: run copy and rename through transactionsMaciej Ciemborowicz, Sep 20, 2026
  4. Junio C HamanoSep 21, 2026
  5. Junio C HamanoSep 21, 2026
  6. Maciej CiemborowiczSep 22, 2026
  7. refs: run copy and rename through transactionsMaciej Ciemborowicz, Sep 23, 2026
  8. Maciej CiemborowiczSep 30, 2026
  9. Patrick SteinhardtOct 2, 2026
  10. Maciej CiemborowiczOct 2, 2026
  11. Patrick SteinhardtOct 5, 2026
  12. 0/4 refs: run copy and rename through transactionsMaciej Ciemborowicz, Oct 7, 2026
  13. 1/4 refs: distinguish internal transactions from logical updatesMaciej Ciemborowicz, Oct 7, 2026
  14. 2/4 refs: support replacing reflogs in a transactionMaciej Ciemborowicz, Oct 7, 2026
  15. 3/4 refs: run copy and rename through ordinary transactionsMaciej Ciemborowicz, Oct 7, 2026
  16. 4/4 refs: remove backend-specific copy and rename callbacksMaciej Ciemborowicz, Oct 7, 2026
  17. Junio C HamanoOct 7, 2026
  18. 0/4 refs: run copy and rename through transactionsMaciej Ciemborowicz, Oct 8, 2026
  19. 1/4 refs: distinguish internal transactions from logical updatesMaciej Ciemborowicz, Oct 8, 2026
  20. 2/4 refs: support replacing reflogs in a transactionMaciej Ciemborowicz, Oct 8, 2026
  21. 3/4 refs: run copy and rename through ordinary transactionsMaciej Ciemborowicz, Oct 8, 2026
  22. 4/4 refs: remove backend-specific copy and rename callbacksMaciej Ciemborowicz, Oct 8, 2026
  23. Patrick SteinhardtOct 8, 2026
  24. Maciej CiemborowiczOct 8, 2026
  25. Maciej CiemborowiczOct 8, 2026
  26. Junio C HamanoOct 8, 2026
  27. Maciej CiemborowiczOct 8, 2026
  28. Kristoffer HaugsbakkOct 8, 2026
  29. Maciej CiemborowiczOct 8, 2026
  30. Patrick SteinhardtOct 9, 2026
  31. brian m. carlsonOct 10, 2026
  32. Junio C HamanoOct 8, 2026
  33. Karthik NayakOct 9, 2026
  34. Maciej CiemborowiczOct 10, 2026
  35. Maciej CiemborowiczSep 23, 2026

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.