node.js - 如何从静态服务器提供裸 git repos?
问题描述
我正在使用NodeJS-Git-Server,它基本上允许客户端连接到我的服务器并在磁盘上克隆裸 git 存储库。NodeJSGitServer 与客户端的 git 进程建立连接,以确定他们的机器缺少哪些数据包,然后服务器将它们流式传输到客户端。这是标准的git 协议。
NodeJSGitServer 生成运行git-upload-pack
和的子进程git-receive-pack
,然后将包通过管道传递给客户端的响应。
但是,这些 git 命令采用本地 git 存储库的路径参数。因此,我似乎需要在运行这些 git 命令以与客户端通信的同一台服务器上托管我所有的裸 git 存储库。有没有办法将这些裸 git repos 托管在与我的节点服务器不同的服务器上,比如 S3 存储桶。我计划使用 Heroku,它们的存储是短暂且有限的。
解决方案
nodejs 服务器似乎只处理本地路径上可访问的 repos,
AFAIK,
git-upload-pack
旨在git-receive-pack
在托管存储库的系统上运行
您可以尝试在本地挂载远程存储库——例如使用 nfs 或 sshfs。做测试性能虽然。
推荐阅读
- regex - 匹配特定时间相关句子的正则表达式
- javascript - rethinkDB:获取对象中的第一个键名
- python - 如何以有效的方式从此类中获取数据?
- javascript - 带有可选路径参数的 react-router generatePath()
- c++ - 为什么这个 constexpr 函数会给我错误?
- scrapy - Scrapy根据字段将文件上传到S3中动态创建的目录
- flutter - LateInitializationError: 字段 'roast' 尚未初始化
- javascript - 使用 javascript 执行程序或 selenium 滚动弹出窗口?
- javascript - 使用 angular-highchart 的堆积条形图
- r - 如何使用 R 中的 cut 函数绘制绘图?