从 App Engine 与 SVN 交互

5 投票
3 回答
1717 浏览
提问于 2025-04-15 15:16

我有几个项目,需要能够从Google App Engine与SVN服务器进行互动。

  • 从SVN中提取特定文件(这比较简单,因为有一个网页界面,我可以自动获取数据,但我该如何进行身份验证呢)
  • 将更改提交到SVN(这是最难也是最重要的部分)
  • 可能想要在App Engine应用中运行一个SVN服务器(我猜这可能不行)

我更喜欢用Python来解决这个问题,但如果必须的话,我也能用Java。

3 个回答

1

你可以通过一个svn服务器(如果它是用apache和mod_dav_svn设置的)来进行交流,这个交流是通过webdav协议进行的。想了解更多,可以查看apache的实现细节。不过问题是,google appengineurlfetch系统只允许使用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运行环境来使用。

撰写回答