问题标签 [smart-http]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7940 浏览

windows - 通过 IIS 使用 GIT Smart HTTP

我最近阅读了 Scott Chacon 的文章“ Smart HTTP Transport ”,我希望自从那篇文章写完后,它可能通过 IIS(Windows 7)成为可能。我还没有找到任何显示它是如何完成的,并且在我的基于 IIS 7 的环境中,Apache 不是一个选项。所以,我不知所措(git daemon 被 AVG 防病毒和 AD 组合为我挫败了)。

我想为选定的用户提供经过 LDAP 身份验证的读/写访问。所以这个问题似乎无关紧要。

您知道通过 IIS 提供对 GIT 的访问的方法吗?

0 投票
0 回答
428 浏览

windows - 有没有人使用“智能 HTTP”和 Active Directory 身份验证在 Windows 上运行 Git?

我读过 git 现在有一个“Smart HTTP”服务器。我有兴趣在 Windows 机器上将它与 IIS 一起使用。我更喜欢使用 Git 的msysgit版本而不是 Cygwin。此外,我更喜欢使用 Active Directory 身份验证而不是 SSH。有没有人有这方面的运气。我读过git-http-backend cgi 命令“仅适用于 Apache”。当 CGI 脚本仍然“很酷”时,我已经完成了大量的 Web 开发,我不清楚为什么这会是一个问题。如果有人可以指出我对问题的描述,我愿意尝试解决它。

帕特奥

0 投票
2 回答
1548 浏览

git - Git Smart HTTP - 某些存储库的用户身份验证

我想知道您如何在智能 http 的 git repos 之间进行身份验证。

例如,我的所有存储库都位于 中/repos/,但是,我只想将“John Doe”分配给其中两个。另一个我希望“Jane Doe”访问;但是,我不希望他们中的任何一个能够访问彼此的存储库。

顺便说一句: 我确实有用户身份验证通常与 http auth 一起工作,它是分离的 priv。对于某些用户来说是我真正追求的。

0 投票
2 回答
4980 浏览

git - 无法通过 smart-http 推送目录

我已经连续两天这样做了,我放弃了自己寻找解决方案。我正在尝试在服务器上设置 Redmine - 那部分进展顺利。我也在尝试安装一个 git 存储库,但是虽然我已经能够通过 SSH 完美地克隆和拉取,但我在通过 HTTP 做同样的事情时遇到了困难。

首先,这是详细的 git push 错误:

==================================================== ===============

$ GIT_CURL_VERBOSE=1 git push http://192.168.0.13/gitweb/Project master * 在_netrc文件中找不到主机192.168.0.13;使用默认值 * 即将 connect() 到 192.168.0.13 端口 80 (#0) * 正在尝试 192.168.0.13... * 0x20ab4f0 在发送管头!* 连接到 192.168.0.13 (192.168.0.13) 端口 80 (#0)

GET /gitweb/Project/info/refs?service=git-receive-pack HTTP/1.1 User-Agent: git/1.7.4.3282.g844cb Host: 192.168.0.13 Accept: / Pragma: no-cache

  • 请求的 URL 返回错误:403
  • 过期清除
  • 关闭连接 #0
  • 在 _netrc 文件中找不到主机 192.168.0.13;使用默认值
  • 即将 connect() 到 192.168.0.13 端口 80 (#0)
  • 尝试 192.168.0.13... * 0x20ab4f0 在发送管头!
  • 连接到 192.168.0.13 (192.168.0.13) 端口 80 (#0)

    GET /gitweb/Project/info/refs HTTP/1.1 用户代理:git/1.7.4.3282.g844cb 主机:192.168.0.13 接受:/ Pragma:无缓存

  • 请求的 URL 返回错误:403

  • 关闭连接 #0 错误:请求的 URL 返回错误:403 访问http://192.168.0.13 /gitweb/Project/info/refs

致命:HTTP 请求失败

==================================================== ===============

因此,尽管我暂时将存储库文件夹更改为 777,但显然存在一些错误配置的权限。

我想你也会对 apache 的配置感兴趣:

==================================================== ===============

ServerAdmin webmaster@localhost

==================================================== ===============

所以如果有人好心给我一个关于做什么的提示,我真的很感激。提前致谢!

0 投票
2 回答
2668 浏览

linux - 通过智能 HTTP 推送到 Git 共享存储库的权限不足

我正在尝试为我们的团队评估 git,其中一项要求是使用 HTTPS 作为传输方法。我一直在尝试遵循git-http-backend文档以及一些稀疏的博客来使用新的智能 HTTP 传输进行设置,但我只是没有让它工作。我知道这可能是愚蠢的,但我绞尽脑汁却无济于事。不要假设对 git 有任何真正的了解,我对这个工具还很陌生。


现在我可以很好地通过 HTTP 克隆,但是当我尝试推送时,客户端得到:


服务器 Apache 错误日志说:

错误:将对象添加到存储库数据库的权限不足 ./objects

致命:无法写入对象


阿帕奇配置:


显然我的第一个想法是文件权限,所以我做了一个快速的chown -R apache: /opt/git

但我仍然得到同样的错误。

谢谢,我非常感谢我能得到的任何帮助。

0 投票
2 回答
5579 浏览

git - Git、Debian、Apache 和智能 HTTP

我正在尝试在我的 Debian 服务器上设置 git。但是,我对这个 Smart HTTP 的东西很着迷,因为我想为 eclipse 使用 Egit 插件并且它需要 Smart HTTP。因此,我无法将本地分支推送到服务器上的远程存储库。我已经安装了 Apache 和 Git 1.7.2.3。我正在使用基本身份验证并已启用mod_cgi,mod_envmod_alias. 我的 git 东西的 apache 配置文件位于/etc/apache2/sites-available/git并包含以下内容:

目录如下:

  • /var/git:这是我所有存储库的目录
  • /var/git/allternative:这是我目前正在尝试设置的(裸)存储库所在的目录

我做了我在这篇文章中读到的所有内容(还有许多其他人也这么说): http: //progit.org/2010/03/04/smart-http.html

我仍然收到来自 Egit 的错误,即远程智能 HTTP 未启用。我错过了什么?

提前致谢, 安德烈亚斯

0 投票
2 回答
585 浏览

git - 如何使用 NGIT 响应 git clone 命令

使用 NGit(甚至是 JGit,因为它是一个端口)有人知道如何通过 Smart HTTP 响应 Git 克隆命令吗?示例代码会是什么样子?

我找不到任何描述这一点的参考资料或文档。

我正在尝试创建一个 .NET GIT 服务器来处理简单的克隆、推送和拉取请求。

任何帮助表示赞赏。

0 投票
1 回答
2776 浏览

git - 无法通过 SCM Manager 推送到 git

我在 Windows 服务器上运行了 Git,并希望从我的 OSX 笔记本电脑同步回它。对此似乎有两种可行的选择:

  • SSH(对于 Windows 来说,这似乎是最好的 hackish)
  • 智能 HTTP

我选择了 Smart HTTP 选项并设置了https://bitbucket.org/sdorra/scm-manager/wiki/Home。除了实际工作之外,这似乎勾选了我需要的所有框。

我可以轻松地克隆和拉取存储库,但不能推送。我已经尝试过使用端口转发等,但为了尽可能多地消除变量,我目前正在通过 VPN 进行测试。

并且该文件没有出现在远程存储库中。

有什么想法吗?有什么更好的方法可以用来远程同步?

编辑:

编辑 2 - 来自 SCM 的日志:

我注意到这一点有一个错误:

0 投票
2 回答
1344 浏览

c# - 如何实现一个 git Smart HTTP 服务器

我想通过 Smart HTTP 协议实现一个 git 服务器。任何机构都可以给我一些参考文件或代码供学习。C风格的语言更好。

使用 C# 语言和 libgit2sharp 实现它是我的目标。

0 投票
1 回答
769 浏览

c# - GIT智能HTTP协议的服务器端和客户端的详细区别

我希望有人会回答GIT智能HTTP协议的服务器端和客户端之间的细节差异。

最好的方法是提前提供一些参考书和代码。


有人说,

libgit2 已经公开了一个 packbuilder。但是,您必须自己实现服务器端协议。

参考这个链接

我们可以用小代码用 libgit2sharp(或 libgit2)实现服务器端吗?


按照上面的问题。我们可以用参数处理包git.exe receive-packgit.exe upload-pack命令--stateless-rpc。实现的代码在这里这里

我们可以将上述代码作为本机代码编译到 .Net 程序集中吗?尽管我们可以通过管道连接 ASP.NET 流和 git.exe,但这不是一个好方法。