AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 52532
Accepted
lumberg55
lumberg55
Asked: 2009-08-11 18:39:09 +0800 CST2009-08-11 18:39:09 +0800 CST 2009-08-11 18:39:09 +0800 CST

SVN 网页界面

  • 772

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

我希望能够在不通过 SSH 登录的情况下控制 SVN 结帐。意思是,我可以在不通过 SSH 登录服务器的情况下运行 svn update 和 stat。是否有某种类型的网络界面可以让我这样做?或者这只是我需要写的一次性?

谢谢。

更新:

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

  • X 公司在其服务器上托管 www.foo.com
  • 富公司 拥有代码并希望托管 SVN 存储库。
  • X 公司不想给 Foo inc. 出于安全原因,通过 SSH 连接到他们的服务器。

Foo Inc. 怎么样?X 公司将代码推广到 X 公司的服务器?X 公司是个简单的案例,我只是不知道如何让 Foo Inc 加入。我知道我可以编写一些带有系统调用的自定义脚本,但我希望有一个打包的解决方案。

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

svn
  • 7 7 个回答
  • 2083 Views

7 个回答

  • Voted
  1. Best Answer
    DisabledLeopard
    2009-08-11T18:50:00+08:002009-08-11T18:50:00+08:00

    SVN 书中完全可行且非常详尽地记录了

    编辑:详细说明一下:Subversion 附带一个 apache 模块,可以将mod_dav_svn其与 apache 一起mod_dav配置为通过 http/1.1 提供对任何或所有存储库的非常灵活和可配置的访问 - 即svn list https://svn.my.domain/。

    • 5
  2. stran
    2009-08-11T20:13:53+08:002009-08-11T20:13:53+08:00

    如果您只是想查看存储库,那么上面提到的 websvn 之类的简单工具就可以解决问题。但是,如果您希望通过从 Web 浏览器提交或提取新的代码副本来管理结帐,您可以使用一些简单的方法,例如通过 cgi 应用程序在 perl 中进行系统调用。代码可以像将其填充到 cgi 中一样简单:

    #! /usr/bin/perl -w
    
    my @args = ("svn", "update", '/path/to/checkout');
    system(@args) == 0 or die "system @args failed: $?";
    
    • 1
  3. James F
    2009-08-12T00:14:43+08:002009-08-12T00:14:43+08:00

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

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

    如果要执行结帐,则必须选择上述之一。所有这些都要求您的客户端系统上有一个 SVN 客户端(命令行界面或类似 TortoiseSVN 的 GUI)

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

    还有一个 post-commit 钩子选项,它将存储库的签出副本保存在一个镜像目录中,您可以通过您的网络服务器公开该目录,但这实际上只是所提到的 CGI 应用程序的一个穷人版本。

    • 1
  4. Anthony Chivetta
    2009-08-11T19:43:25+08:002009-08-11T19:43:25+08:00

    您可以使用 PHP Shell ( http://phpshell.sourceforge.net/ ) 之类的东西来执行此操作。这实际上取决于用例。如果您想要一种安全的方式让其他用户能够在工作副本上执行命令,那么最好的选择可能是一次性脚本。但是,如果这只是供您自己使用,并且您愿意忍受 PHP Shell 并且必须输入您想要运行的命令,就好像您是 SSH 一样,那么它应该可以完成工作。

    您还应该研究使用 svn 存储库挂钩来完成您想要的(取决于您的用例)。使用 post-commit 钩子,您可以例如在对特定分支进行提交时更新结帐。(只需使用 svn 查看该分支中的任何文件是否已更改,如果是,则在您的存储库上运行 svn up。您可能必须使用sudo以获得正确的权限,因为该挂钩以您的 Web 服务器或 svnserve 用户身份运行。)手册是了解更多相关信息的好资源。

    • 0
  5. Physikal
    2009-08-11T20:20:01+08:002009-08-11T20:20:01+08:00

    这非常有用。

    http://tortoisesvn.tigris.org/

    • 0
  6. David Pashley
    2009-08-11T23:03:30+08:002009-08-11T23:03:30+08:00

    我对你想做什么感到困惑。您要查看存储库吗?查看内容,查看历史,查看日志?如果您真的想处理结帐而不是存储库,为什么?它将用于什么?您没有提到要编辑结帐,这使 stat 有点毫无意义。我怀疑还有其他方法可以做你想做的事。用您正在尝试做的事情更新您的问题,我会尝试提供更具体的帮助。

    • 0
  7. Umair
    2010-08-26T22:33:58+08:002010-08-26T22:33:58+08:00

    试试 DoctorSVN,它没有适当的版本,而且有一点问题,但通过一些调整,你可以让它工作。希望有帮助。

    • 0

相关问题

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 如何定期复制 SVN 存储库而不会丢失目标标签和分支?

  • 如何通过 SVN 命令行接受 SSL 证书?

  • 如何在 slicehost 上设置集市

  • 如何在 Mac OS X 中正确安装 Subversion?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve