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

Re: Developing Java Client?

From: Robert Simmons <derisor_at_arcor.de>
Date: 2003-10-22 00:53:52 CEST

> Robert Simmons wrote:
> > Actually I don't need to know any of that (unless you guys put business
> > into the client side in which case you would be a malicious hacker's
> > All I need to know is how the server and client talk to each other. What
> > messages do they send back and forth, what are the content of these messages
> > so on. That is the crux. As for what protocol I would use, I would design it
> > be protocol agnostic. Not difficult if you implement interfaces and proper
> > Object oriented design. Then I would make a default implementation probably
> > using straight TCP and sockets and let someone that knows WebDAV (AT ALL)
> > on that. Or I could implement the HTTP interface.
> Well, it's not so much an issue of 'business logic' being client side,
> it's just that when you're actually working with Subversion MANY things
> happen client side that a client application (like eclipse) needs to do.

Uh oh. Im getting a creepy feeling. Please tell me that a bright hacker couldnt
fry a repository from the client side by making a spoofing client.

> You could certainly speak directly to the server over HTTP or our
> custom protocol, but that's only a small amount of what you'd need to do
> to have a useful client application.

Like what? You really have me worried here about the security of this thing. Is
there a doc that tells what happens client side?

> It's rather intrinsic in how Subversion works.

Hmm .. ya ... at BMW we are developing an advanced navigation system for the
next generation of cars. its rather intrisic how it works.... Well, to me it is.
But you would be totally lost without a prayer. never forget that what is
intrinsic to you is often not intrinsic to others. Whenever developers tell me
that a peice of code or a process is "self evident" I say "good, then it wont be
so hard for you to document it." =)

> Peek inside the .svn directory in your working copy,
> and glance at the subversion/libsvn_wc directory to see some of the
> client side stuff that gets done for many actions. Have you used the
> software much, read the book, or looked at the code?

No, like I said in my original post, my C skills are OLD and I looked at some of
the code and had no bloody idea what I was looking at.

> > Now I suppose I could drop a listener on an HTTP socket and try to figure
> > the scheme but that would be a painful way to do it. It would be much better
> > hit the ground running with the design docs.
> The various RA layers have documentation in various places. ra_svn is
> in subversion/libsvn_ra_svn, and there are some notes in there about it.
> ra_dav is in subversion/libsvn_ra_dav and subversion/mod_dav_svn, and
> there are notes in the notes/ directory about how it uses webdav,
> although the code is probably the best documentation.
> -garrett

Yes but where is the design and architecture documentation? ;-) Im not terribly
confidently expecting it to exist but it would be convenient. Reading code to
figure out architecture is very slow and tedious and most people simply wont
bother. If it comes down to having no hints other than the code base, I may not
bother. I want to write a library, not learn to write C all over again.

-- Kraythe

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Oct 22 01:01:04 2003

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.