java - 与远程 Mercurial 和 Git http 存储库交互

标签 java git mercurial

背景:我正在编写一个 Java 服务器应用程序,需要与通过 http 提供服务的远程 SCM 系统执行基本交互。

是否可以使用某种预定义的 API(或者这些存储库在通过 http 提供服务时如何布局)从服务器与 Mercurial 和 Git 存储库进行交互,而无需克隆?唯一需要的交互是列出当前受版本控制的文件以及下载版本控制文件的特定修订版的能力。

编辑:对于 Mercurial,我使用了 Ry4an 的解决方案。对于 Git,我抓取使用 gitweb 提供的存储库的屏幕。

最佳答案

Mercurial 不适用于远程存储库,除了克隆、推送和 pull 之外。也就是说,根据服务的方式,人们可以做很多事情。如果通过 hgweb 提供服务,则内置 Web 界面可用作 hgserve,其中有许多详细信息的 style=raw View ,可以通过编程轻松处理。一些例子:

使用它们,您可以浏览文件、修订版本、标签和分支。

但是,如果您想要编写,最好在 Java 应用程序中的 Jython 中运行 Mercurial 并直接调用命令。

关于java - 与远程 Mercurial 和 Git http 存储库交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4894151/

相关文章:

mercurial - 使用私有(private) Bitbucket Mercurial 存储库配置 composer.json

java - 我不确定我的快速选择方法有什么问题

git - 如何使用 git 同时处理多个不同版本的文件?

mercurial - 使 Mercurial 存储库中的 .hgignore 可用于所有子存储库?

mercurial - 从 CVS 迁移到 Mercurial - 如何处理跨存储库符号链接(symbolic link)?

javascript - 预期换行符为 'LF' 但发现 CRLF

java - 如何为基于字符串条件从数组中过滤元素的方法编写测试

java - 使用 String.format() 作为注释属性值

java - 为什么带有两个常量的三元运算符比带有变量的三元运算符快?

git - 拆分大型 git 存储库