2

有了isomorphic-git之类的项目,Web 应用程序使用众所周知的 API 提供开箱即用的版本控制以及用户可以与他们自己的可移植、与站点无关的数据存储进行交互的令人兴奋的潜力变得更近了(尽管遗憾的是,浏览器中不存在任何globalStorage类型的解决方案,仅具有与远程站点无关的数据存储)。

然而,由于 Git 的安全模型显然专注于整个存储库,并且 Git 无法仅获取/克隆存储库的单个部分(无论是 blob、树还是提交对象),当面临需求时就会出现问题,尤其是 Web 应用程序,用于托管整个代码存储库之外的数据(例如,用户希望离线的单个页面/数据对象的片段或快照——例如,来自未来的离线 Wikipedia Web 应用程序)。

是否存在任何允许 Git 服务器仅传输存储库的一部分的扩展协议(或自定义实现)(与不同的是svn export,允许将更改推回服务器)?我想有人可以抓取 Git Web 服务器响应,但我想知道是否存在任何 REST(或 websocket)协议(或者,如果没有,自定义软件)以使与 Web 客户端的交互更加实用,例如,使用 JSON 响应(最好使用身份验证和精细授权)。

我知道使用浅克隆的稀疏签出,但我会尽量减少网络流量,我会对检索单个 blob、树或提交对象的潜力感兴趣。

4

0 回答 0