从 App Engine 与 SVN 交互
我有几个项目,需要能够从Google App Engine与SVN服务器进行互动。
- 从SVN中提取特定文件(这比较简单,因为有一个网页界面,我可以自动获取数据,但我该如何进行身份验证呢)
- 将更改提交到SVN(这是最难也是最重要的部分)
- 可能想要在App Engine应用中运行一个SVN服务器(我猜这可能不行)
我更喜欢用Python来解决这个问题,但如果必须的话,我也能用Java。
3 个回答
1
你可以通过一个svn服务器(如果它是用apache和mod_dav_svn设置的)来进行交流,这个交流是通过webdav协议进行的。想了解更多,可以查看apache的实现细节。不过问题是,google appengine的urlfetch系统只允许使用GET、POST、HEAD、PUT和DELETE这几种HTTP请求方法,而webdav使用了一些自定义的请求方法,比如PROPFIND、PROPPATCH等等。因此,现在你只能查看svn服务器的内容。
不过,你可以使用google appengine来实现一个webdav提供者。想了解更多信息,可以看看gae-webdav项目。
3
DryDrop(http://drydrop.binaryage.com/)是一个基于Git的工具,你可以看看它,跟你想做的事情做个对比。
4
你可以试试用 SVNKit 这个工具,配合Java运行环境来使用。