git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] transport-helper: serious crash fix
@ 2014-04-12 20:33 Felipe Contreras
  2014-04-12 20:33 ` [PATCH 1/5] transport-helper: remove barely used xchgline() Felipe Contreras
                   ` (6 more replies)
  0 siblings, 7 replies; 20+ messages in thread
From: Felipe Contreras @ 2014-04-12 20:33 UTC (permalink / raw)
  To: git; +Cc: Felipe Contreras

One of the most serious recurring issues[1][2][3] with remote helpers is that
marks get out of sync. The way to analize and reproduce these wasn't trivial,
but the culprit seems to be a crash while doing `git push`. It has been known
already how exactly that happens, but no simple way how to fix it.

This is the simplest way so far; tell `git fast-export` to export the marks to
a temporary file, and move it to the right location only *after* the remote
helper has finished its job without errors.

Since the code wasn't prepared for a change like this, some reorganization
changes are needed. More changes might be welcome to further propagate the
errors properly through the code, but for the moment the errors are propagated
to the right location, in order to fix this specific problem.

[1] http://article.gmane.org/gmane.comp.version-control.git/223962
[2] http://article.gmane.org/gmane.comp.version-control.git/241707
[3] https://github.com/felipec/git/issues/56

Felipe Contreras (5):
  transport-helper: remove barely used xchgline()
  remote-helpers: make recvline return an error
  transport-helper: propagate recvline() error pushing
  transport-helper: trivial cleanup
  transport-helper: fix sync issue on crashes

 t/t5801-remote-helpers.sh | 17 ++++++++++-
 transport-helper.c        | 72 ++++++++++++++++++++++++++++-------------------
 2 files changed, 59 insertions(+), 30 deletions(-)

-- 
1.9.1+fc3.9.gc73078e

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2014-04-20 22:05 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-12 20:33 [PATCH 0/5] transport-helper: serious crash fix Felipe Contreras
2014-04-12 20:33 ` [PATCH 1/5] transport-helper: remove barely used xchgline() Felipe Contreras
2014-04-12 20:33 ` [PATCH 2/5] remote-helpers: make recvline return an error Felipe Contreras
2014-04-12 20:33 ` [PATCH 3/5] transport-helper: propagate recvline() error pushing Felipe Contreras
2014-04-12 20:33 ` [PATCH 4/5] transport-helper: trivial cleanup Felipe Contreras
2014-04-14 21:14   ` Junio C Hamano
2014-04-12 20:33 ` [PATCH 5/5] transport-helper: fix sync issue on crashes Felipe Contreras
2014-04-14 21:25   ` Junio C Hamano
2014-04-15 21:28 ` [PATCH 0/5] transport-helper: serious crash fix Junio C Hamano
2014-04-19  7:00 ` [PATCH 0/5] fc/transport-helper-sync-error-fix rebased Junio C Hamano
2014-04-19  7:00   ` [PATCH 1/5] transport-helper: remove barely used xchgline() Junio C Hamano
2014-04-19  7:00   ` [PATCH 2/5] remote-helpers: make recvline return an error Junio C Hamano
2014-04-19  7:00   ` [PATCH 3/5] transport-helper: propagate recvline() error pushing Junio C Hamano
2014-04-19  7:00   ` [PATCH 4/5] transport-helper: trivial cleanup Junio C Hamano
2014-04-19  7:00   ` [PATCH 5/5] transport-helper: fix sync issue on crashes Junio C Hamano
2014-04-20 18:36   ` [PATCH 0/5] fc/transport-helper-sync-error-fix rebased Felipe Contreras
2014-04-20 21:10     ` Junio C Hamano
2014-04-20 21:12       ` Felipe Contreras
2014-04-20 21:52         ` Junio C Hamano
2014-04-20 21:54           ` Felipe Contreras

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).