summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-02-12 09:24:54 -0800
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-02-12 09:24:54 -0800
commit8f9c01feed31c8a87bfbaf89727cd6626ca73db9 (patch)
treeee414c88d8ba42af7a3507dc62f0f09fcbc895d1
parent452adb7bccbe7d794aa6a5d4ea9a765020db1c7c (diff)
parent2bd955961cdb6d0fa7e51e8fbb61581d6b101b05 (diff)
downloadgitlab-ce-8f9c01feed31c8a87bfbaf89727cd6626ca73db9.tar.gz
Merge pull request #2946 from Asquera/fix/access_to_non_existent_branch
API: Fixes return code when accessing non existent branch (#2922)
-rw-r--r--doc/api/repositories.md3
-rw-r--r--lib/api/projects.rb1
-rw-r--r--spec/requests/api/projects_spec.rb5
3 files changed, 9 insertions, 0 deletions
diff --git a/doc/api/repositories.md b/doc/api/repositories.md
index bc6ca70aa50..fd0ef1f53eb 100644
--- a/doc/api/repositories.md
+++ b/doc/api/repositories.md
@@ -79,6 +79,9 @@ Parameters:
}
```
+Will return status code `200` on success or `404 Not found` if the branch is not available.
+
+
## Protect a project repository branch
Protect a single project repository branch.
diff --git a/lib/api/projects.rb b/lib/api/projects.rb
index a16243aa822..d416121a78a 100644
--- a/lib/api/projects.rb
+++ b/lib/api/projects.rb
@@ -230,6 +230,7 @@ module Gitlab
# GET /projects/:id/repository/branches/:branch
get ":id/repository/branches/:branch" do
@branch = user_project.repo.heads.find { |item| item.name == params[:branch] }
+ not_found!("Branch does not exist") if @branch.nil?
present @branch, with: Entities::RepoObject, project: user_project
end
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb
index d932fd9e74d..16fd1b9307c 100644
--- a/spec/requests/api/projects_spec.rb
+++ b/spec/requests/api/projects_spec.rb
@@ -109,6 +109,11 @@ describe Gitlab::API do
json_response['commit']['id'].should == '621491c677087aa243f165eab467bfdfbee00be1'
json_response['protected'].should == false
end
+
+ it "should return a 404 error if branch is not available" do
+ get api("/projects/#{project.id}/repository/branches/unknown", user)
+ response.status.should == 404
+ end
end
describe "PUT /projects/:id/repository/branches/:branch/protect" do