Re: [PATCH 0/5] transport-helper: serious crash fix

2014-04-15 Thread Junio C Hamano
Felipe Contreras felipe.contre...@gmail.com writes:

 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.

This seems to be based on a somewhat older codebase; I tried to be
careful while adjusting the patch to the current codebase, but
please give it an eyeball to see if I didn't make any silly mistake
in the version that has been parked on 'pu'.

After an positive Ack (or you botched the forward-porting; here is
a rebased one you should replace them with), I'd like to merge it
to 'next' and then to 'master' by -rc0 (or -rc1 at the latest) so
that we have enough time to expose the updated code before 2.0.

Thanks.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 0/5] transport-helper: serious crash fix

2014-04-12 Thread 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

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html