* git-svn and *lots* of ssh connections
@ 2009-06-10 14:09 Jon Nelson
2009-06-11 7:52 ` Pascal Obry
2009-06-25 9:49 ` Eric Wong
0 siblings, 2 replies; 3+ messages in thread
From: Jon Nelson @ 2009-06-10 14:09 UTC (permalink / raw)
To: git
The company I work for (but do not speak for) uses svn (via ssh). I
tried to use it; I really did. But I missed git and found svn quite
honestly painful to use so I went to git-svn, and other than some
caveats I'm pretty happy. However, one of the issues I've had with
git-svn is fairly troublesome.
Basically, during the fetch stage (or clone) git-svn uses a *ton* of
ssh connections. Many dozens and in even with smaller projects well
over a hundred. By "small" I mean a .git of less than 6MB and less
than 60 files in the checkout. I've got 4MBit bandwidth available but
frequently see only a single digit fraction of that going to the
fetch/clone process. Is there anything that can be done to reduce the
number of ssh connections involved? Why can't a single connection
simple be re-used? I can't use "ssh connection sharing" for a variety
of reasons that aren't relevant here.
I'm using 1.6.0.2.
--
Jon
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: git-svn and *lots* of ssh connections
2009-06-10 14:09 git-svn and *lots* of ssh connections Jon Nelson
@ 2009-06-11 7:52 ` Pascal Obry
2009-06-25 9:49 ` Eric Wong
1 sibling, 0 replies; 3+ messages in thread
From: Pascal Obry @ 2009-06-11 7:52 UTC (permalink / raw)
To: Jon Nelson; +Cc: git
Jon Nelson a écrit :
> Basically, during the fetch stage (or clone) git-svn uses a *ton* of
> ssh connections. Many dozens and in even with smaller projects well
> over a hundred. By "small" I mean a .git of less than 6MB and less
> than 60 files in the checkout. I've got 4MBit bandwidth available but
> frequently see only a single digit fraction of that going to the
> fetch/clone process. Is there anything that can be done to reduce the
> number of ssh connections involved? Why can't a single connection
> simple be re-used? I can't use "ssh connection sharing" for a variety
> of reasons that aren't relevant here.
I don't know if git-svn can be improved but I would go with a reusable
ssh connection (this is not working with Cygwin though).
See for example (but lot of web site talk about this):
http://www.cyberciti.biz/faq/linux-unix-reuse-openssh-connection/
Pascal.
--
--|------------------------------------------------------
--| Pascal Obry Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--| http://www.obry.net - http://v2p.fr.eu.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver keys.gnupg.net --recv-key F949BD3B
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: git-svn and *lots* of ssh connections
2009-06-10 14:09 git-svn and *lots* of ssh connections Jon Nelson
2009-06-11 7:52 ` Pascal Obry
@ 2009-06-25 9:49 ` Eric Wong
1 sibling, 0 replies; 3+ messages in thread
From: Eric Wong @ 2009-06-25 9:49 UTC (permalink / raw)
To: Jon Nelson; +Cc: git
Jon Nelson <jnelson@jamponi.net> wrote:
> The company I work for (but do not speak for) uses svn (via ssh). I
> tried to use it; I really did. But I missed git and found svn quite
> honestly painful to use so I went to git-svn, and other than some
> caveats I'm pretty happy. However, one of the issues I've had with
> git-svn is fairly troublesome.
>
> Basically, during the fetch stage (or clone) git-svn uses a *ton* of
> ssh connections. Many dozens and in even with smaller projects well
> over a hundred. By "small" I mean a .git of less than 6MB and less
> than 60 files in the checkout. I've got 4MBit bandwidth available but
> frequently see only a single digit fraction of that going to the
> fetch/clone process. Is there anything that can be done to reduce the
> number of ssh connections involved? Why can't a single connection
> simple be re-used? I can't use "ssh connection sharing" for a variety
> of reasons that aren't relevant here.
>
> I'm using 1.6.0.2.
Hi Jon,
The actual connection setup/teardown is handled by the SVN Perl bindings
which gives git-svn little control over handling them. We actually try
to force a zero reference count to close a connection to an open SVN
repository.
Which OS/Perl version/SVN bindings version are you using?
Could the ssh processes just be zombies that didn't get reaped?
Does this happen when you clone a single directory with
--no-follow-parent? (no --stdlayout/-s option or --branches/--tags
switches, either). Can you test against an http/https/plain-svn
server and see if it happens there?
I could be talked into putting in a (nasty!) hack to start zapping
integer file descriptors when switching paths/repos and hope SVN closes
those; but that may not work...
--
Eric Wong
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-06-25 9:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-10 14:09 git-svn and *lots* of ssh connections Jon Nelson
2009-06-11 7:52 ` Pascal Obry
2009-06-25 9:49 ` Eric Wong
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).