January 22, 2013

GitLab4.1でfilesとcommitsが404になった

2013/01/23 追記

以下のPRの内容の方が、僕のやっつけより的確です。
https://github.com/gitlabhq/gitlabhq/pull/2706/files

--

現象は、以下の通りです。
404 when viewing Files and Commits tab
https://github.com/gitlabhq/gitlabhq/issues/2602

報告者はNginxで、僕はApacheなので、その辺は関係無さそうです。
ttp://example.com/gitlabの形式で運用している場合に発生する(ことがある)のかなと。

GitLabのソースはあまり知らないですし、そもそもRubyをよく知らないので、grepしまくって応急処置しました。この方法(この箇所の修正)が正しいかどうかはわからないですが、一応、diff書いておきます。(ハードコーディングでみっともないですが。。。)
$ git diff
diff --git a/lib/extracts_path.rb b/lib/extracts_path.rb
index 270a0aa..e6682b2 100644
--- a/lib/extracts_path.rb
+++ b/lib/extracts_path.rb
@@ -51,7 +51,7 @@ module ExtractsPath
     return pair unless @project
 
     # Remove project, actions and all other staff from path
-    input.gsub!(/^\/#{Regexp.escape(@project.path_with_namespace)}/, "")
+    input.gsub!(/^\/gitlab\/#{Regexp.escape(@project.path_with_namespace)}/, ""
     input.gsub!(/^\/(tree|commits|blame|blob|refs)\//, "") # remove actions
     input.gsub!(/\?.*$/, "") # remove stamps suffix
     input.gsub!(/.atom$/, "") # remove rss feed

No comments:

Post a Comment