[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: SVN Protocol

From: Ramprasad Venkata Inala <rinala_at_cordys.com>
Date: 2005-07-27 13:38:24 CEST

If I have to send the data say "hi" from the server( proxy ) what should
I have to do?
How do I encode the instructions and data?

Regards
Ramprasad

-----Original Message-----

**********************************************************************
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.
**********************************************************************

From: Ramprasad Venkata Inala
Sent: Monday, July 25, 2005 3:31 PM
To: 'Ben Collins-Sussman'
Cc: Max Bowsher; dev@subversion.tigris.org
Subject: RE: SVN Protocol

Actually the actual architecture would be some thing like this.

 _______ _______ _____________
_______
| SVN | | SVN | | Versioning |
| SVN |
| Client| -----> | Proxy | -----> | System | -----> | Server|
|_______| |_______| |_____________|
|_______|

I need to do support the functionalities like the check-out, commit etc
that svn supports. But for the proof of concept I decided to do just the
check-out functionality.
The SVN proxy is basically written in Java. I have some hard coded most
of the protocol to understand the working of it.
I captured the protocol data from the ethereal tool. I have made the
connection with the SVN proxy and then when I received an update command
then I send back a response as in the below format.

( success ( ( ) 0: ) ) ( target-rev ( 1 ) ) ( open-root ( ( 1 ) 2:d0 ) )
( change-dir-prop ( 2:d0 23:svn:entry:committed-rev ( 1:1 ) ) ) (
change-dir-prop ( 2:d0 24:svn:entry:committed-date (
27:2005-07-01T04:33:11.031948Z ) ) ) ( change-dir-prop ( 2:d0
14:svn:entry:uuid ( 36:a01d4cae-f992-8e49-80fa-6a508579ee32 ) ) ) (
add-file ( 8:abcd.txt 2:d0 2:c1 ( ) ) ) ( change-file-prop ( 2:c1
23:svn:entry:committed-rev ( 1:1 ) ) ) ( change-file-prop ( 2:c1
24:svn:entry:committed-date ( 27:2005-07-01T04:33:11.031948Z ) ) ) (
change-file-prop ( 2:c1 14:svn:entry:uuid (
36:a01d4cae-f992-8e49-80fa-6a508579ee32 ) ) ) ( apply-textdelta ( 2:c1 (
) ) ) ( textdelta-chunk ( 2:c1 4:SVN. ) )

I have done till this point. But for the next textdeltachunk what should
be passed and how to pass it is what I am pondering ? This is where I am
stuck. How to send then data back to the client in a format( the first
dots, and second dot ).
I understood a bit and then I tried putting some data in the first chunk
( but do not know whether it is in right format or not ).

( textdelta-chunk ( 2:c1 5:..... ) ) ( textdelta-chunk ( 2:c1 1:. ) ) (
textdelta-chunk ( 2:c1 2:hi ) ) ( textdelta-end ( 2:c1 ) ) ( close-file
( 2:c1 ( 32:2510c39011c5be704182423e3a695e91 ) ) ) ( close-dir ( 2:d0 )
) ( close-edit ( ) )

Please help me..

Thanks and regards
Ramprasad

Note: I was sick last week so I could not reply back. Please apologize..

-----Original Message-----
From: Ben Collins-Sussman [mailto:sussman@collab.net]
Sent: Thursday, July 14, 2005 7:58 PM
To: Ramprasad Venkata Inala
Cc: Max Bowsher; dev@subversion.tigris.org
Subject: Re: SVN Protocol

If the client is running 'svn checkout' (or 'svn update'), then the
server process which responds has to do *much* more than simply send
file diffs.

1. It needs to parse the status report sent by the client. It then
needs to use this report to build a virtual tree that represents the
client's tree.

2. It must compare the client's tree against a repository revision,
and drive an 'editor' vtable.

3. As one small part of the editor-drive, it sends file diffs.

Is your proxy server doing all this? What I'm not understanding is
how your proxy server is supposed to work. I don't see the forest
through the trees... what's the overall design? Are you going to
rewrite all of 'svnserve' and libsvn_repos from scratch? If not, how
much do you need to write?

Please help us understand the overall design of your proxy.

On Jul 14, 2005, at 1:18 AM, Ramprasad Venkata Inala wrote:

> I wanted to send the diff( I think it is diff from the packet capture
> using ethereal ) to the client.
> I have reached to a stage where I cannot proceed further. I used
> the JNI
> method to achieve(ing) the diff instead of rewriting it in java as
> suggested by you.
> But I am unable to get the exact way to do it.
> I get a diff string from my versioning system then I need to send the
> same to the to svn client that is a client to my proxy.
> Can you help me?
> Thanks and regards
> Ramprasad
> -----Original Message-----
>
> **********************************************************************
> 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.
> **********************************************************************
>
>
> From: Ramprasad Venkata Inala
> Sent: Tuesday, July 12, 2005 9:53 AM
> To: 'Ben Collins-Sussman'
> Cc: Max Bowsher; dev@subversion.tigris.org
> Subject: RE: SVN Protocol
>
> Yes sure.
>
> I am trying to do check-out functionality on the repository for the
> first time, to start with
>
> Hence I the client uses the
> "svn co svn://localhost/"
> when such a request is received by the client then the svn proxy
> should
> respond the same way as a svn server.
> Hence the protocol understanding is important to me.
>
> Thanks and Regards
> Ramprasad
> -----Original Message-----
> From: Ben Collins-Sussman [mailto:sussman@collab.net]
> Sent: Friday, July 08, 2005 8:03 PM
> To: Ramprasad Venkata Inala
> Cc: Max Bowsher; dev@subversion.tigris.org
> Subject: Re: SVN Protocol
>
>
> On Jul 7, 2005, at 11:58 PM, Ramprasad Venkata Inala wrote:
>
>
>> I am trying to send the (diff, not sure of it is diff data or not )
>> data
>> using the svn protocol.
>>
>
> The problem is, we don't know what the client expects either, because
> we don't know what command the client is running (i.e. what request
> it is making) You haven't told us.
>
> Instead of talking about everything at the protocol-level, can you
> give us a *high* level description of what is happening?
>
> For example:
>
> "I'm running 'svn cat fileURL', and the client is doing this by
> running svn_ra_get_file()."
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Jul 27 13:39:26 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.