Re: git-svn and *lots* of ssh connections

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jon Nelson <jnelson@xxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]