问题标签 [cgit]
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.
python - 有没有交叉引用 Python 源代码的 git web 网关
我们使用 cgit 和 Trac 从网络浏览器浏览我们的源代码。我缺少的一件事是交叉引用(即源代码中到令牌定义的链接)。我见过 lxr,但它似乎没有插入 cgit 或其他任何东西。
你有没有发现类似的东西?
干杯,
亚历克斯
git - 你如何设置 cgit 并通过 http 进行拉取和推送?
我正在尝试设置一个 cgit 实例,您可以从中推送或拉取 http。但是,我可以通过 cgit 通过 http 浏览我的 repos,但是当我尝试推送到这个 repo 时,我收到一个错误:
致命,/info/refs 无效,这是一个 git 存储库吗?
该路径存在于服务器上,这是一个空文件。我创建了一个更新后挂钩,它自动执行 git update-server-info(来自 repo 的 post-update.example)。但是当我尝试通过 http 查看 /info/refs 文件时,cgit 有一个通知,这是一个空存储库。
我可以做些什么来通过 http 访问这个文件,所以我可以使用 cgit 提供给我的 url 推送或拉取?
我在共享托管服务提供商上有我的仓库,所以我无法访问 apache.conf,只能访问 .htaccess 文件...
git - gitolite 在“狂野”存储库创建上运行挂钩
当我的团队成员创建新存储库时,我需要运行一个脚本,该脚本将生成 projects.list 文件。
我们开发从“主”分支出来的固件,但这些分支永远不会合并回主控。由于永远不会合并,我决定为每个不同版本的固件创建存储库。我开发了一个 bash 脚本,它将为我创建 projects.list 文件。
现在我无法创建调用该脚本的钩子。
我曾尝试让 gitolite 为我生成文件,但没有运气。任何帮助表示赞赏。谢谢!
回答
在 config/gitolite.conf 我使 repo def 看起来像这样:
apache - htaccess:从路径中删除 cgit.cgi
所以我只是在共享主机上安装了 cgit。我自定义编译它并使用符号链接 from $HOME/mydomain-and-public-www-folder.tld/g
to$HOME/local/lib/cgit/prod
链接$HOME/local/lib/cgit/${git describe}
到我更新的构建中的构建以测试最新版本。这包括什么?
https://mydomain.tld/g/
现在,当我进入浏览器并看到漂亮的 cgit 界面时,登陆页面上看起来一切都很好。当我单击任何链接时,我得到了正确的存储库,但所有格式都消失了(CSS、PNG 和 JS 文件再见,所有链接都采用https://mydomain.tld/g/cgit.cgi/randomrepo.git
所有 URL 的形式。当然所有文件在 prod 路径中不起作用,因为浏览器会寻找类似的东西https://mydomain.tld/g/cgit.cgi/cgit.css
而不是需要的https://mydomain.tld/g/cgit.css
. 现在,这是我的基本 .htaccess 文件以使其正常工作。
我已经尝试了一大堆推荐的重写模式,例如 [1] 或 [2]。我对更高级的 .htaccess 规则相对较新,所以有人可以指出如何cgit.cgi
使用 mod-rewrite 从 URL中删除并确保同一目录中的 css 和 png 文件可访问并且QSA/查询字符串得到正确处理。对不起,很长的帖子。我认为更多的细节会说明为什么明显的操作方法对我不起作用。
[1]使用 .htaccess 从 URL 中删除 'index.php'
更新:
两个答案似乎都不错,但我认为我不了解虚拟根和扫描路径功能,但似乎这些答案比以前更进一步,但关键部分仍然缺失。任何指向 repo 的 url(在一个很远的路径中$HOME/data/scm/priv
)都没有正确重定向,我得到一个 404。
更改名称/IP 以保护无辜者,但您明白了。所以看起来回购请求不会回到cgit CGI,那么他们去哪里了?我正在努力获得更好的重定向日志。我们会看到的。
更新 2:
当然,RewriteLog
这是一个你不能输入的指令,.htaccess
因为我忘记了,愚蠢的我。不确定现在在共享主机上该怎么做。多么令人讨厌。这是促使我研究 VPS 托管并咬紧牙关并仅将这个共享主机用于非常愚蠢的东西的几个问题之一。
PS:我确实将原始问题按原样通过电子邮件发送到 cgit dev 列表,但也从未收到任何回复。所以他们不在乎,觉得这是一个愚蠢的问题,不确定。哈哈。
osx-snow-leopard - MacPorts:cgit 安装失败并显示“无法验证文件校验和”
我试图用 MacPorts 安装 cgit
但它失败了:
我正在运行 Snow Leopard,Mac OS X 10.6.8 (10K549),内核版本:Darwin 10.8.0 64-bit
已经进行了一些在线搜索并成功更新了端口
但它并没有解决问题。
我也不知道我是否应该在 MacPorts(这里有 Linux 背景的 Mac 新手)提交错误报告,所以我利用这个机会来解决我的第一个 stackoverflow 问题;)
帮助表示赞赏,
亚历克斯
git - cgit 是否单独运行其编译的版本?
cgit文档表明 cgit 也将 git 编译到自身中。
你的整个服务器都在使用那个 git 版本,还是 cgit 在内部使用它只是为了解析 git 存储库?
url-rewriting - 此 cgit 实例(在共享主机上)需要哪些重写规则?
我在共享主机上安装了 cgit,虽然主页出现了,但每个 url 都出现了找不到文件,直到我将 cgit.cgi 添加到路径的前面。
例如www.domain.com/path
,除非在浏览器中键入 as 否则会出错www.domain.com/cgit.cgi/path
,但返回页面中的所有链接都在表单中www.domain.com/path
。
.htaccess 是否有一些重写规则会导致网络服务器将每个实例www.domain.con/path
视为 as www.domain.com/cgit.cgi/path
?Drupal 的 Clean URLs 浮现在脑海中。
git - 将 gitweb 查询字符串转换为 cgit 查询
我正在尝试以编程方式将 gitweb 格式的查询字符串映射到 cgit 查询字符串,以完全过渡到 cgit,而不会破坏旧的基于 gitweb 的 url,这些 url 指向我散布在网络上的存储库。我见过一些基于正则表达式的 URL 重写规则,如下所示:
http://www.clearchain.com/blog/posts/cgit-upgrade-gitweb-retired
但我试图真正理解查询字符串中的变量以确保我做对了,我将使用一个小型 CGI 程序而不是 mod_rewrite 或任何对重新映射的操作。特别是,我不了解 、 和哈希的语义h
以及hb
它们hp
如何映射到 cgit 的id
不同类型查询的查询变量。
任何熟悉他们的人都可以填写我或将我指向一个好的资源吗?