标签: smart-http

针对Apache的gitolite存储库的GitSmartHTTP不允许我推送

我正在设置一个git-http-backend CGI脚本来处理我的git.domain子域.服务器位于AWS云上的ELB(弹性负载平衡器)后面.我的服务器配置如下(我的git托管由gitolite处理):

<VirtualHost *:80>
    ServerName git.domain
    ServerAdmin hjpotter92+git@domain

    #SuexecUserGroup git git                                                                                                                                                                    
    DocumentRoot /opt/gitolite/repositories/

    PerlLoadModule Apache::Authn::Redmine

    SetEnv GIT_PROJECT_ROOT /opt/gitolite/repositories/
    SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER # Have also tried removing this variable
    SetEnv GIT_HTTP_EXPORT_ALL

    ScriptAliasMatch \
        "(?x)^/(.*/(HEAD | \                                                                                                                                                                    
           info/refs | \                                                                                                                                                                        
           objects/(info/[^/]+ | \                                                                                                                                                              
           [0-9a-f]{2}/[0-9a-f]{38} | \                                                                                                                                                         
           pack/pack-[0-9a-f]{40}\.(pack|idx)) | \                                                                                                                                              
           git-(upload|receive)-pack))$" \
        /opt/gitolite/git-core/git-http-backend/$1

    <Directory "/opt/gitolite/git-core">
        AllowOverride None
        Options +ExecCGI -Includes
        Require all granted
    </Directory>
    <Location />
        # enabled in desparation...
        # saw it somewhere in bugzilla powered mailing list
        DAV On

        Order …
Run Code Online (Sandbox Code Playgroud)

apache virtualhost gitolite smart-http git-http-backend

10
推荐指数
1
解决办法
419
查看次数

Git Smart HTTP(S) 协议到底是什么样子的?

我正在尝试实现一个模拟 Git 远程的网络服务器。用户应该能够从我的服务器克隆或拉取、编辑文件、提交和推送(需要身份验证)\xe2\x80\x94 使用 Git 执行的正常操作。然而,在服务器端并不是一个裸露的 Git 存储库或任何东西;数据以其他格式存储,并且仅在请求时进行转换。

\n

我花了很多时间试图了解 Git Smart HTTP 协议是如何工作的,这是我目前所知道的。

\n

http-protocol 上的 Git 文档,我知道这GET $GIT_URL/info/refs?service=git-upload-pack HTTP/1.1应该引发以下(示例)响应:

\n
HTTP/1.1 200 OK<CRLF>\nContent-Type: application/x-git-upload-pack-advertisement<CRLF>\nCache-Control: no-cache<CRLF>\n<CRLF>\n001e# service=git-upload-pack<LF>\n0000<no LF>\n004895dcfa3633004da0049d3d0fa03f80589cbcaf31 refs/heads/maint<NUL>multi_ack<LF>\n003fd049f6c27a2244e12041955e262a404c7faba355 refs/heads/master<LF>\n003c2cb58b79488a98d2721cea644875a8dd0026b115 refs/tags/v1.0<LF>\n003fa3c2e2402b99163d1d59756e5f207ae21cccba4c refs/tags/v1.0^{}<LF>\n0000\n
Run Code Online (Sandbox Code Playgroud)\n

从我自己对我的 repo 进行的实验来看,提交很少,看来 GitHub 到目前为止完全在文档中描述的协议限制内:

\n
HTTP/1.1 200 OK<CRLF>\nServer: GitHub Babel 2.0<CRLF>\nContent-Type: application/x-git-upload-pack-advertisement<CRLF>\nContent-Security-Policy: default-src \'none\'; sandbox<CRLF>\nTransfer-Encoding: chunked<CRLF>\nexpires: Fri, 01 Jan 1980 00:00:00 GMT<CRLF>\npragma: no-cache<CRLF>\nCache-Control: no-cache, max-age=0, must-revalidate<CRLF>\nVary: Accept-Encoding<CRLF>\nX-Frame-Options: DENY<CRLF>\nX-GitHub-Request-Id: [redacted]<CRLF>\n<CRLF>\n001e# service=git-upload-pack<LF>\n0000<no LF>0156feee8d0aeff172f5b39e3175175d027f3fd5ecc1 HEAD<NUL>multi_ack thin-pack side-band side-band-64k ofs-delta shallow deepen-since deepen-not …
Run Code Online (Sandbox Code Playgroud)

git http github smart-http

8
推荐指数
1
解决办法
1906
查看次数

通过IIS使用GIT Smart HTTP

我最近阅读了Scott Chacon的帖子" 智能HTTP传输 ",我希望通过IIS(Windows 7)可能已经成为可能.我无法找到任何显示它如何完成的内容,而Apache在基于IIS 7的环境中不是一个选项.所以,我不知所措(git守护进程因AVG反病毒和AD的组合而被挫败).

我想为所选用户提供LDAP身份验证的读/写访问权限.所以这个问题似乎没有关系.

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

windows git iis smart-http

5
推荐指数
2
解决办法
7604
查看次数