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

Re: [PATCH] git-svn: error out when the SVN connection fails during a fetch

From
Junio C Hamano <junkio@cox.net>
Date
Dec 6, 2006, 19:01 UTC
Message-ID
<7v64co4zo0.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<87psax3qmb.fsf@mid.deneb.enyo.de>
Florian Weimer <fw@deneb.enyo.de> writes:
Show 16 quoted lines
> * Eric Wong:
>
>> Florian Weimer <fw@deneb.enyo.de> wrote:
>>> * Eric Wong:
>>> 
>>> > Does the following patch help?
>>> 
>>> Don't think so.  The issue is not timing-related.  I've seen a failure
>>> every 1000 requests, which suggests to me that it's hitting the
>>> MaxKeepAliveRequests limit configured on the server.
>>
>> Actually, that's exactly what this patch should fix.  git-svn restarts a
>> child every 1000 revisions to avoid memory usage from going through the
>> roof.
>
> Oh.  My (limited) testing of the patch confirms that.
Ok, so this means I should apply this one, right?
-- >8 --
From: Eric Wong <normalperson@yhbt.net>
Date: Mon, 4 Dec 2006 00:51:16 -0800
Subject: [PATCH] git-svn: avoid network timeouts for long-running fetches

Long-running fetches run inside children to avoid memory leaks. When we refork, the connection in the parent can be idle for a long time; attempting to reuse it in the next child can result in timeouts.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
 git-svn.perl |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl
index d0bd0bd..747daf0 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -459,6 +459,7 @@ sub fetch_lib {
 		$min = $max + 1;
 		$max += $inc;
 		$max = $head if ($max > $head);
+		$SVN = libsvn_connect($SVN_URL);
 	}
 	restore_index($index);
 	return { revision => $last_rev, commit => $last_commit };
-- 
1.4.4.1.g6129
Previous: Florian WeimerNext: Eric Wong
Message 8 of 9 in “git-svn: error out when the SVN connection fails during a fetch”
  1. git-svn: error out when the SVN connection fails during a fetchEric Wong, Nov 28, 2006
  2. Eric WongNov 28, 2006
  3. Florian WeimerDec 3, 2006
  4. Eric WongDec 4, 2006
  5. Florian WeimerDec 4, 2006
  6. Eric WongDec 4, 2006
  7. Florian WeimerDec 6, 2006
  8. Junio C HamanoDec 6, 2006
  9. Eric WongDec 6, 2006

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.