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

[RFC/PATCH 0/3] tracking per-ref errors on push

From
Jeff King <peff@peff.net>
Date
Nov 13, 2007, 10:25 UTC
Message-ID
<20071113102500.GA2767@sigill.intra.peff.net>

Following is a series to track push errors for individual refs. This should have three immediate advantages (the first two of which I implement in the series):

  - updating tracking refs only for non-error refs
  - incorporating remote rejection into the printed status
  - printing errors in a different order than we processed
    (e.g., consolidating non-ff errors near the end with
    a special message)
The patches are:
  1. send-pack: track errors for each ref
     This is the groundwork for the other 2. I also think it makes the
     code a bit more readable by splitting out the print formatting from
     the push logic, and by explicitly naming the different states that
     we were previously deducing from the states of other variables.
  2. send-pack: check ref->status before updating tracking refs
     This should fix the bugs that people are seeing from 334f483
  3. send-pack: assign remote errors to each ref
     This may have some problems, as I will explain below.

I have a few concerns which make this an RFC and not a real patch submission:

  - I have done pretty minimal testing, and there are no automated tests
    (at least 2, which fixes a real bug, should get a test).
    Unfortunately, I am out of time to work on this and am leaving the
    country for a week. Between that and Thanksgiving travel, I'm not
    sure when I'll have time to finish up, so I thought it best to have
    comments waiting (and others should feel free to pick up the work if
    they want -- Alex, I think your error consolidation should go nicely
    on top of this).
  - It looks like the push mirror code just made it into next, which
    is going to require a conflict-heavy rebase on my part.
  - There is a potential performance bottleneck in patch 3. See the
    commit message.
  - In patch 3, the 'ng' message sent by the remote are not
    unambiguously parseable.  See the commit message.
-Peff
Next: Jeff King
Message 1 of 20 in “tracking per-ref errors on push”
  1. 0/3 tracking per-ref errors on pushJeff King, Nov 13, 2007
  2. 1/3 send-pack: track errors for each refJeff King, Nov 13, 2007
  3. Jeff KingNov 13, 2007
  4. Alex RiesenNov 13, 2007
  5. Jeff KingNov 13, 2007
  6. Alex RiesenNov 13, 2007
  7. 2/3 send-pack: check ref->status before updating tracking refsJeff King, Nov 13, 2007
  8. 3/3 send-pack: assign remote errors to each refJeff King, Nov 13, 2007
  9. Jeff KingNov 13, 2007
  10. Jeff KingNov 13, 2007
  11. 1/3 send-pack: track errors for each refJeff King, Nov 13, 2007
  12. 2/3 send-pack: check ref->status before updating tracking refsJeff King, Nov 13, 2007
  13. 3/3 send-pack: assign remote errors to each refJeff King, Nov 13, 2007
  14. Junio C HamanoNov 14, 2007
  15. Junio C HamanoNov 14, 2007
  16. Johannes SchindelinNov 14, 2007
  17. Junio C HamanoNov 14, 2007
  18. Jeff KingNov 15, 2007
  19. Junio C HamanoNov 16, 2007
  20. Jeff KingNov 15, 2007

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.