1

Ubuntu 12.04 (64 ビット) サーバーにgitwebをインストールし、変数$projectroot/usr/share/gitweb/gitweb.cgi以外のディレクトリに変更した後でも/var/cache/git、プロジェクトは で検索され/var/cache/gitます。

これは、Ubuntu のgitwebパッケージ (1.7.9.5) で発生し、Git のリポジトリのクローンを作成し、最新の安定したブランチ (1.8.0.1) をコンパイルします。

この問題は、Apache の gitweb サイトで "404 - プロジェクトが見つかりません" として発生することもあります/var/cache/git

4

2 に答える 2

2

Ubuntu では、ファイル/usr/share/gitweb/gitweb.cgiを編集しないでください。$projectroot変数は で設定する必要があります/etc/gitweb.conf

助けてくれたGit のメーリング リストに感謝します。

于 2012-12-04T11:29:05.207 に答える
0

定義した後$projectroot=/var/git(私の場合)、3,915 行$projectrootにの値を挿入すると、文字列が表示されていたため、cgi ファイルのどこかで の値がシステムのデフォルトにリセットされていました。<title>/var/cache/git$projectroot

この動作の原因は、git_get_projects_list2,865 行でグローバル変数our $projectrootが再度定義され、その値がシステムのデフォルトにリセットされるサブルーチンにあります。それを解決する方法は、同じ行で宣言し、上記と同じ値に設定することです。

...
2,863. # global variables                                       
2,864. our $project_maxdepth = 2007;
2,865. our $projectroot = "/var/git";
2,866. # skip project-list toplevel, if we get it.              
2,867. return if (m!^[/.]$!);
...

この問題が Ubuntu や Git のメーリング リストで報告されているのを見たことがありません。そのため、これがバグまたは機能であるかのような洞察 (私には明らかにバグのように見えます)、またはこれが他の Linux ディストリビューションで発生する場合は、高く評価されます。

于 2012-11-28T16:13:14.803 に答える