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

[PATCH 0/3] git-svn: fixes for intermittent SIGPIPE

From
Roman Kagan <rkagan@mail.ru>
Date
Apr 23, 2012, 16:35 UTC
Message-ID
<cover.1335198921.git.rkagan@mail.ru>

In my work environment subversion is still being used as the main revision control system. Therefore many people who prefer to work with git have to resort to git-svn.

However, in many configurations it used to suffer from the notorious "git-svn died of signal 13" problem (see e.g. http://thread.gmane.org/gmane.comp.version-control.git/134936 and the links therein).

I believe to have tracked down the issue to the connection being closed by the server when http keep-alive is in use, and the client dying on SIGPIPE because its handler is left at SIG_DFL when a new request is being made.

The patches have been tested on
- Linux Fedora 16 x86_64, git 1.7.7.6, perl v5.14.2, svn 1.6.17
- Windows 7 x64 + Cygwin, git 1.7.9, perl v5.10.1, svn 1.7.4,
- Windows 7 x64 + MsysGit, git 1.7.9.msysgit.0, perl v5.8.8, svn 1.4.6

This is the second version of the series; it only differs from the first submission in that it includes the third patch with a cosmetic cleanup.

Roman Kagan (3):
  git-svn: use POSIX::sigprocmask to block signals
  git-svn: ignore SIGPIPE
  git-svn: drop redundant blocking of SIGPIPE
 git-svn.perl |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)
-- 
1.7.7.6
Next: Roman Kagan
Message 1 of 7 in “git-svn: fixes for intermittent SIGPIPE”
  1. 0/3 git-svn: fixes for intermittent SIGPIPERoman Kagan, Apr 23, 2012
  2. 1/3 git-svn: use POSIX::sigprocmask to block signalsRoman Kagan, Apr 2, 2012
  3. Junio C HamanoApr 23, 2012
  4. Roman KaganApr 23, 2012
  5. Junio C HamanoApr 23, 2012
  6. 2/3 git-svn: ignore SIGPIPERoman Kagan, Apr 2, 2012
  7. 3/3 git-svn: drop redundant blocking of SIGPIPERoman Kagan, Apr 23, 2012

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.