首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SVN网络接口

SVN网络接口
EN

Server Fault用户
提问于 2009-08-11 02:39:09
回答 7查看 2.1K关注 0票数 0

我有一个场景,我希望有一些工具,我们那里,可以做到这一点。

我希望能够控制一个SVN结帐,而不被SSH‘in。这意味着,我将能够运行svn更新和stat的,而不必被SSH‘到服务器。是否有某种类型的网络接口,可以让我这样做?还是这只是我需要写的一次过?

谢谢。

更新:

好的,这是一个场景。这可能有助于澄清我的需要。

  • X公司在他们的服务器上托管www.foo.com
  • Foo公司拥有代码,并希望主持SVN回购。
  • 出于安全原因,X公司不想将Foo . SSH提供给他们的服务器。

Foo公司和X公司如何向X公司的服务器推广代码?X公司是个简单的例子,我只是想不出如何才能让Foo。我知道我可以用系统调用编写一些自定义脚本,但我希望有一个打包的解决方案。

再次感谢。到目前为止还在读很棒的东西。

EN

回答 7

Server Fault用户

回答已采纳

发布于 2009-08-11 02:50:00

完全可操作,并且在SVN书中有非常彻底的文档记录。

编辑:详细介绍一下: Subversion附带了一个apache模块mod_dav_svn,它与apache的mod_dav一起可以配置为在http/1.1 - ie svn list https://svn.my.domain/上提供对任何或所有存储库的非常灵活和可配置的访问。

票数 5
EN

Server Fault用户

发布于 2009-08-11 04:13:53

如果您只是想查看存储库,那么像上面提到的websvn这样的简单工具可能会起作用。但是,如果您希望通过提交或从web浏览器中提取新的代码副本来管理结帐,则可以使用一些简单的方法,比如通过cgi应用程序在perl中使用系统调用。代码可以简单到将其填充到cgi中:

代码语言:javascript
运行
复制
#! /usr/bin/perl -w

my @args = ("svn", "update", '/path/to/checkout');
system(@args) == 0 or die "system @args failed: $?";
票数 1
EN

Server Fault用户

发布于 2009-08-11 08:14:43

Subversion支持几种支持完全操作存储库的访问方法:

  • http/https:需要在mod_dav_svn模块中使用Apache 2
  • file:需要对存储库文件系统的“直接”访问(如果性能较差,网络文件系统应该很好)
  • svn:一种svn专有协议,要求您运行svnserve进程。有一个名为svn+ssh的变体,它通过SSH连接按需运行守护进程,但这不符合您的要求。

如果您想要执行结帐,您必须选择以上之一。所有这些都要求在客户端系统上有一个SVN客户端(命令行界面或像TortoiseSVN这样的图形用户界面)。

一些人建议的其他选择(WebSVN等)通常是PHP或Perl CGI应用程序,它们提供存储库的只读视图。有些将允许您导出整个目录,但它们不允许您执行适当的签出操作,您可以随后将更改签入。

还有一个post提交钩子选项,它将把存储库的签出副本保存在镜像目录中,您可以通过您的man服务器公开它,但是这实际上只是上面提到的CGI应用程序的一个糟糕的男人版本。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/52532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档