You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Ramprasad Venkata Inala <ri...@cordys.com> on 2005/06/07 05:35:10 UTC

SVN Proxy

Hi,
 
I want to write a proxy for SVN ( for SVN protocol )so that it passes
through our versioning system. For the same I need to know the SVN
protocol, which I understood from the protocol document placed in the
SVN sources. There is some hiccup while handshaking with the client. Let
me explain in detail what I do.
 
When a client ( using a subclipse ) tries to connect to the SVN  proxy(
a socket server program written in java ) the proxy accepts the
connection and spawns a new thread that will handle further the requests
for this client, so each client will have a thread that would handle the
streams. When server socket accepts the client request it sends back
response in the format specified below.
( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline ) ) ) ( 2 ANONYMOUS ( ) (
) )
Spaces also do matter in the above response.
 
The client responds back with the below response
( 2 ( edit-pipeline ) 28:svn:///d:/svnrep/SVNProtocol )
where svnrep is SVN repository and SVNProtocol is the eclipse project.
 
Then the proxy sends a message in this format again to the client
( ( ( 31:d:/svnrep/SVNProtocol ) ) ( ANONYMOUS ( ) ) )
 
Then the problem starts here again when the client responds back then it
tries to open up another socket rather sending requests on the same
stream which is a diversion from the connection establishment. 
 
Could somebody help me in this regard and explain me the protocol
syntax.
 
Regards
Ram

**********************************************************************
The information in this message is confidential and may be legally
privileged. It is intended solely for the addressee. Access to this message
by anyone else is unauthorized. If you are not the intended recipient, any
disclosure, copying, or distribution of the message, or any action or
omission taken by you in reliance on it, is prohibited and may be unlawful.
Please immediately contact the sender if you have received this message in
error.
**********************************************************************



Re: SVN Proxy

Posted by Max Bowsher <ma...@ukf.net>.
Erik Huelsmann wrote:
>>> Then the problem starts here again when the client responds back then it
>>> tries to open up another socket rather sending requests on the same
>>> stream which is a diversion from the connection establishment.
>>
>> I suspect the client is giving up faced with the weird responses you are
>> giving it, and re-trying.
>
> Isn't this the second RA session being opened for a commit/update 
> operation?

No. You are correct that operations open multiple RA sessions, but in the 
specific protocol exchange that was described, the first session had not 
even been fully initialized.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: SVN Proxy

Posted by Erik Huelsmann <eh...@gmail.com>.
> > Then the problem starts here again when the client responds back then it
> > tries to open up another socket rather sending requests on the same
> > stream which is a diversion from the connection establishment.
> 
> I suspect the client is giving up faced with the weird responses you are
> giving it, and re-trying.

Isn't this the second RA session being opened for a commit/update operation?

Ramprasad, you can't expect 1 client operation to open just 1
connection: some operations open up to 5 connections...


bye,


Erik.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: SVN Proxy

Posted by Max Bowsher <ma...@ukf.net>.
Ramprasad Venkata Inala wrote:
> Hi,
>
> I want to write a proxy for SVN ( for SVN protocol )so that it passes
> through our versioning system. For the same I need to know the SVN
> protocol, which I understood from the protocol document placed in the
> SVN sources. There is some hiccup while handshaking with the client. Let
> me explain in detail what I do.
>
> When a client ( using a subclipse ) tries to connect to the SVN  proxy(
> a socket server program written in java ) the proxy accepts the
> connection and spawns a new thread that will handle further the requests
> for this client, so each client will have a thread that would handle the
> streams. When server socket accepts the client request it sends back
> response in the format specified below.

> ( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline ) ) )

Right.

> ( 2 ANONYMOUS ( ) ( ) )

What is this?? I do not see this in either the protocol document or in 
captured traces of network traffic.

> The client responds back with the below response
> ( 2 ( edit-pipeline ) 28:svn:///d:/svnrep/SVNProtocol )

OK.

> Then the proxy sends a message in this format again to the client
> ( ( ( 31:d:/svnrep/SVNProtocol ) ) ( ANONYMOUS ( ) ) )

Again, what is this?? I do not see this in either the protocol document or 
in captured traces of network traffic.

> Then the problem starts here again when the client responds back then it
> tries to open up another socket rather sending requests on the same
> stream which is a diversion from the connection establishment.

I suspect the client is giving up faced with the weird responses you are 
giving it, and re-trying.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org