This content has been marked as final. Show 3 replies
AIR apps can't launch external programs on the local machine, so your idea of using an svn client goes out the window.
But, Flash does have fair networking capabilities. You might be able to implement a WebDAV client without too much trouble, which lets you talk to svn repositories configured to use it. It should be easier to write for a text-based protocol like that rather than svn's own binary protocol.
Setting up a WebDAV server is a little more difficult than svnserve or svn+ssh, but not too bad. I was surprised to find that as of OS X 10.5, all the pieces are in the default install to set this up, they just have to be turned on in the Apache configuration. I imagine the same is true of some Linux distributions.
Is it possible that a svn library would be developed for AIR so that it would not need to call an external program? Does WebDAV do syncing?
Originally posted by: _mjl
Is it possible that a svn library would be developed for AIR so that it would not need to call an external program?
Of course, but it's also possible that there will be a Ferrari in my driveway when I leave the house tomorrow. In an infinite universe, everything is bound to happen at least once.
Open source doesn't move forward under the power of wish-think. It moves forward when someone such as yourself has an itch and decides to scratch it, then releases the code for others to use. Get cracking. :)
Does WebDAV do syncing?
Yes, in about the same way that HTTP does bold text.
WebDAV is an extension to HTTP that turns it into a networked file system, including file versioning support. For a good overview of what it is and what you can do with it, including the svn angle, listen to this episode of the FLOSS Weekly podcast.
WebDAV defines a way to transport file version modifiation commands from your AIR program to an Apache server running the mod_dav_svn module. You don't say "WebDAV, please synchronize my local directory with the svn repo". You say, "Hey, WebDAV server, what is the current revision of file foo/bar/baz.txt?" It says, "r34255" Then your program says, "I have revision r34254 of this file, so please Mr WebDAV server, give me the differences between r34254 and r34255, and I will apply the changes locally".
Yes, it will be a fair amount of work to build such a thing. That's why it will be worthwhile when you are finished. :)