From c830bab79a86d2397d1bd66c911e549377e396b4 Mon Sep 17 00:00:00 2001
From: Johannes Schleifenbaum <johannes@js-webcoding.de>
Date: Sun, 9 Jun 2013 23:47:55 +0200
Subject: [PATCH] Commit List and Tree allow also + in branch name

---
 config/routes.rb                     | 4 ++--
 spec/routing/project_routing_spec.rb | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/config/routes.rb b/config/routes.rb
index 1889461b68d..492a93b33bc 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -251,11 +251,11 @@ Gitlab::Application.routes.draw do
 
       member do
         # tree viewer logs
-        get "logs_tree", constraints: { id: /[a-zA-Z.\/0-9_\-#%]+/ }
+        get "logs_tree", constraints: { id: /[a-zA-Z.\/0-9_\-#%+]+/ }
         get "logs_tree/:path" => "refs#logs_tree",
           as: :logs_file,
           constraints: {
-            id:   /[a-zA-Z.0-9\/_\-#%]+/,
+            id:   /[a-zA-Z.0-9\/_\-#%+]+/,
             path: /.*/
           }
       end
diff --git a/spec/routing/project_routing_spec.rb b/spec/routing/project_routing_spec.rb
index fab7ea25a0e..f93d8dc479a 100644
--- a/spec/routing/project_routing_spec.rb
+++ b/spec/routing/project_routing_spec.rb
@@ -202,8 +202,10 @@ describe RefsController, "routing" do
   it "to #logs_tree" do
     get("/gitlabhq/refs/stable/logs_tree").should             route_to('refs#logs_tree', project_id: 'gitlabhq', id: 'stable')
     get("/gitlabhq/refs/feature%2345/logs_tree").should             route_to('refs#logs_tree', project_id: 'gitlabhq', id: 'feature#45')
+    get("/gitlabhq/refs/feature%2B45/logs_tree").should             route_to('refs#logs_tree', project_id: 'gitlabhq', id: 'feature+45')
     get("/gitlabhq/refs/stable/logs_tree/foo/bar/baz").should route_to('refs#logs_tree', project_id: 'gitlabhq', id: 'stable', path: 'foo/bar/baz')
     get("/gitlabhq/refs/feature%2345/logs_tree/foo/bar/baz").should route_to('refs#logs_tree', project_id: 'gitlabhq', id: 'feature#45', path: 'foo/bar/baz')
+    get("/gitlabhq/refs/feature%2B45/logs_tree/foo/bar/baz").should route_to('refs#logs_tree', project_id: 'gitlabhq', id: 'feature+45', path: 'foo/bar/baz')
     get("/gitlab/gitlabhq/refs/stable/logs_tree/files.scss").should route_to('refs#logs_tree', project_id: 'gitlab/gitlabhq', id: 'stable', path: 'files.scss')
   end
 end
-- 
GitLab