views:

444

answers:

3

I've got a couple of projects where it would be useful to be able to interact with an SVN server from appengine.

  • Pull specific files from the svn (fairly easy, since there is a web interface which I can grab the data off automatically, but how do I authenticate)
  • Commit changes to the svn (this is the really hard/important part)
  • Possibly run an SVN server (from an appengine app, I'm guessing this isn't possible)

I would prefer a python solution, but I can survive with java if I must

+4  A: 

you can try using SVNKit with the java runtime

dfa
Aha! Looks promising, do you know if SVNkit tries to create any sockets (appengine doesn't allow that)?
Martin
probably it uses sockets in order to communicate with the svn repository.. but it is worty trying anyway imho
dfa
+3  A: 

DryDrop (http://drydrop.binaryage.com/) is a Git based solution you may want to look at for comparison of what you're trying to do.

RyanW
Hmm, I've never used GIT, I'll have a look into it
Martin
+1  A: 

You can talk to a svn server(if setup with apache running mod_dav_svn) using the webdav protocol. See apache's implementation details Problem is that google appengine's urlfetch system doesn't allow for HTTP request methods other then GET, POST, HEAD, PUT and DELETE. (webdav uses custom request methods like PROPFIND, PROPPATCH, etc..) So at this time you are restricted to just viewing the contents of the svn server.

You can however use google appengine to implement a webdav provider. Have a look at the gae-webdav project for more information.

Aidamina