问题标签 [gitweb]

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 投票
1 回答
2800 浏览

git - 使用 gitosis 管理对 git 存储库的 http 访问

[2010 年 9 月 16 日更新]

昨晚看了这个之后,我意识到我最初的问题实际上是在问两个不同的问题:

1)是否可以为 gitosis 创建的所有远程存储库设置更新后挂钩(即mv hooks/post-update.sample hooks/post-update在 gitosis 创建存储库后不必手动执行)这是通过 HTTP 克隆工作所必需的(愚蠢的 HTTP 客户端依赖于git update-server-info从更新后挂钩中调用的事实)。

2)一旦可以通过 HTTP 访问存储库,是否可以使用 gitosis.conf 中的选项打开和关闭访问(类似于daemon = noor gitweb = yes

--- 问题 1 的解答 ---

事实证明,Git 使用模板通过git init命令创建新的存储库。通过mv hooks/post-update.sample hooks/post-update在模板目录中执行,我的服务器上的所有未来调用git init都将正确配置更新后挂钩。(在 OSX 上,模板目录是/opt/local/share/git-core/templates/为那些关心的人准备的)

这个工作的另一个要求是打开 Apache 重写规则,以便存储库的 HTTP 克隆 URL 看起来像http//git.example.com/repo.git

我的重写规则/etc/apache2/extra/httpd-vhosts.conf如下所示:

--- 仍在寻找问题 2 的解决方案...帮助!:) ---

现在 HTTP 克隆适用于我所有的存储库,我想知道是否有一种方法可以使用 gitosis 来管理 HTTP 访问控制。设置daemon = nogitweb = no关闭存储库的 git-daemon 和 gitweb 访问,但由于 Apache 重写规则仍处于启用状态,因此存储库仍可http://git.example.com/repo.git. 关于如何使用 gitosis 来管理这个的任何想法?

[我最初发布的问题]

是否可以使用 gitosis 管理对 git 存储库的 http 访问?例如,在 gitosis.conf 中,我可以使用以下命令管理 gitweb 和 git-demon 的访问:

我目前可以通过发出以下命令来克隆我的存储库:

但是,当我发出以下命令时:

我收到以下错误消息:

但是,如果我登录到我的服务器并从 repo.git 中运行以下命令:

然后通过http克隆工作正常。

有没有办法从 gitosis 中管理对存储库的 http 访问?

0 投票
1 回答
898 浏览

git - How would you install Gitweb in shared hosting?

I recently installed my git in my shared hosting now I want to install gitweb but I don't know how to install and configure it.

Do you have any process to share on gitweb installation?

0 投票
2 回答
7654 浏览

git - 看不到仓库

安装 GitWeb 和 CGit 来试用我的 Git/Gitosis 存储库的 Web 界面。在 Fedora 13 上运行,我的 Gitosis 运行良好。我安装了 gitweb 和 cgit 并将配置设置为指向我的存储库,但 gitweb 或 cgi 都不会列出存储库。Gitweb 显示 gitweb 页面,但显示:

404 - 未找到项目

我在 /etc/gitweb.conf 文件中列出了正确的目录:

CGit 显示 cgit 页面,但显示:

不是 git 存储库:'/var/lib/gitosis/repositories/code/test.git'

当我单击此测试存储库链接时(是的,它存在)。我在 /etc/cgitrc 文件中列出了正确的目录:

因为两者都没有列出存储库,所以我觉得它一定是我的配置,但我似乎无法弄清楚要配置什么来显示这些存储库。我在 /var/lib/gitosis/repositories 中有我的存储库 SymLinked,它指向目录 /home/git。我还在 /var/lib/gitosis/repositories 下设置了我的存储库作为代码和 conf 和文档,您可以使用 code/test.git 或 conf/test.git 或 docs/test.git 查看它们。我认为这可能是问题所在,并将存储库直接复制到 /var/lib/gitosis/repositories 目录中,但它们仍然没有显示。请任何人都可以指出我可以尝试使其正常工作的任何事情。这几天一直在做。

0 投票
2 回答
698 浏览

git - 如何为自动生成的 TarGZ 档案创建稳定的校验和?

对于构建脚本,我需要使用某个版本的源包。为了不必包含大型源档案,脚本只存储它们的校验和 (SHA1) 并自动下载它们。这对于官方版本非常有效,例如

http://download.videolan.org/pub/videolan/libdca/0.0.5/libdca-0.0.5.tar.bz2

但是,有些包没有提供正式版本,所以我从版本控制系统下载了一个经过良好测试的版本。例如,Gitweb 提供了方便的“快照”功能来下载 TarGZ 存档:

http://git.videolan.org/?p=libbluray.git;a=snapshot;h=cf9ee593f;sf=tgz

不幸的是,这个 URL 在每次请求时返回的文件略有不同。尽管它总是返回完全相同的 tar 存档,并且总是以相同的方式通过 gzip 压缩,但在 gzip 存档开头附近的时间戳存在细微差别。

这几个字节使每次下载的校验和都不同,因此脚本无法再确保下载的源存档的完整性。

我该如何规避这个问题?

0 投票
1 回答
1392 浏览

linux - git push 后项目从 gitweb 中消失

我使用 gitolite 来托管我的源代码,并使用 gitweb 设置一个网站来显示我的所有项目。一开始,所有项目都通过 gitweb 正确显示,但是,在我修改了一个项目并执行 git push 后,它立即从项目列表中消失了。

每个项目,每当我对其进行 git push 操作时,它都会从 gitweb 的项目列表中消失。然后,如果我对该项目执行“git clone --bare”并替换原来的项目,它将再次回到项目中......

有人遇到同样的问题吗?

ps 我做了一个“git clone --bare”并做一个“git push”,然后将它与原来的进行比较,我得到的是:

仅在 test.git/objects 中:86 仅在 test.git/objects 中:af 仅在 test.git/objects 中:f4 仅在 test.git/refs/heads 中:master

创建一个具有 master 提交 id 的新文件。

0 投票
1 回答
2222 浏览

git - 从 gitolite 迁移到另一个托管 GIT 存储库

在过去的几个月里,我一直在使用 gitolite/gitweb,并且对这个组合非常满意,但现在我正在考虑转向管理更好的 Web 前端,在那里我可以限制对访问者所见内容的访问。我们正在将 GIT 的使用扩展到其当前范围之外,并希望能够浏览其中包含非公开信息的代码。目前,由于其敏感性,此代码未在 gitweb 上列出。

我看过诸如 Redmine 和 Indefero 之类的解决方案,但它们似乎需要生成一个全新的 git 存储库,而不是使用现有的存储库。

任何有关如何进行的反馈将不胜感激。

跟进

我在今天下午的搜索中确实找到了这个链接。有没有人有这种方法的经验?

0 投票
1 回答
2019 浏览

git - Gitweb失败:致命:缺少对象0000000000000000000000000000000000000000用于refs/heads/master

我正在尝试将 gitweb 与一组由 gitolite 管理的存储库一起使用。我们可以通过 ssh 成功地克隆/推送/拉取它们,没有任何问题。当我尝试查看索引页面时,我在 apache 日志中收到以下错误:

fatal: missing object 0000000000000000000000000000000000000000 for refs/heads/master, referer: http://gitwebbox/gitweb/?p=mlp2.git;a=summary

我已经运行 git fsck 并没有发现任何问题。master 的 ref 指向对象树中存在的哈希。

任何人都可以帮我找出问题所在吗?谢谢!

0 投票
6 回答
7605 浏览

git - 任何熟悉 git 错误“缺少对象 000000000000000000000000000000 用于 refs/heads/...”的人吗?

我们正在运行 git v1.7.1 并配置了 gitweb。我们也使用 gitolite 进行管理,但我认为这与这个问题无关。我们有时会在 Apache 日志中收到错误消息,例如:

末尾的省略号通常是分支名称。我相信零字符串应该是 SHA1 值。显然,全零不是 SHA1 值。我不清楚这个值是从哪里来的?

我在服务器上运行了 git fsck 并没有报告问题,但是 git gc 解决了这个问题。此外,我们能够很好地拉取和推送到这个存储库(和那个分支)。只有 gitweb 似乎受到影响。

我知道其他人已经看到了这个问题,因为这里有一个关于它的封闭问题: Gitweb failure: fatal: missing object 0000000000000000000000000000000000000000 for refs/heads/master 这个问题没有答案。

附加信息

我们现在已经在我们的 gitolite-admin 存储库中看到了这个问题。我们的 gitolite-admin 存储库中没有分支,所以它不在分支上。

0 投票
1 回答
1699 浏览

git - 如何从 GitWeb 获取文件的源代码?

我想(通过 curl 或 AJAX)下载 Git 存储库中文件的 HEAD 修订版。GitWeb 已经安装好了。

我可以得到格式化的源代码: http://server1.local/?p=Project&a=blob&f=Path/To/File.html

但是,当我使用 blob_plain 作为“a”的值时,这似乎不起作用;blob_plain 需要在“h”参数中使用哈希 - 但我想引用文件的最新版本,而不是特定版本。

有什么需要配置的吗?我是否使用了正确的 URL 架构?

0 投票
1 回答
2008 浏览

git - gitweb 中的“TAG - diff” - 有可能吗?

假设我有两个版本 v0.1 和 v0.2。在这之间,大约有 20 次提交。现在,如果我想对这两个版本进行某种代码审查,gitweb 只为我提供了在每次提交之间进行差异的可能性。我只是想要两个版本之间完成的所有提交的差异。那可能吗?在命令行上它看起来像这样:

混帐差异 v0.1 v0.2

但是,一旦我的差异查看器(融合),git 将为每个文件打开,我无法一次查看所有更改(在一个文件中)。

也许有人已经遇到过同样的问题,可以告诉我在那里做什么?

问候