You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.7 KiB
80 lines
2.7 KiB
class Gitlab::Client
|
|
# Defines methods related to repositories.
|
|
module Branches
|
|
# Gets a list of project repositiory branches.
|
|
#
|
|
# @example
|
|
# Gitlab.branches(42)
|
|
#
|
|
# @param [Integer] project The ID of a project.
|
|
# @param [Hash] options A customizable set of options.
|
|
# @option options [Integer] :page The page number.
|
|
# @option options [Integer] :per_page The number of results per page.
|
|
# @return [Array<Gitlab::ObjectifiedHash>]
|
|
def branches(project, options={})
|
|
get("/projects/#{project}/repository/branches", :query => options)
|
|
end
|
|
alias_method :repo_branches, :branches
|
|
|
|
# Gets information about a repository branch.
|
|
#
|
|
# @example
|
|
# Gitlab.branch(3, 'api')
|
|
# Gitlab.repo_branch(5, 'master')
|
|
#
|
|
# @param [Integer] project The ID of a project.
|
|
# @param [String] branch The name of the branch.
|
|
# @return [Gitlab::ObjectifiedHash]
|
|
def branch(project, branch)
|
|
get("/projects/#{project}/repository/branches/#{branch}")
|
|
end
|
|
|
|
alias_method :repo_branch, :branch
|
|
|
|
# Protects a repository branch.
|
|
#
|
|
# @example
|
|
# Gitlab.protect_branch(3, 'api')
|
|
# Gitlab.repo_protect_branch(5, 'master')
|
|
#
|
|
# @param [Integer] project The ID of a project.
|
|
# @param [String] branch The name of the branch.
|
|
# @return [Gitlab::ObjectifiedHash]
|
|
def protect_branch(project, branch)
|
|
put("/projects/#{project}/repository/branches/#{branch}/protect")
|
|
end
|
|
alias_method :repo_protect_branch, :protect_branch
|
|
|
|
# Unprotects a repository branch.
|
|
#
|
|
# @example
|
|
# Gitlab.unprotect_branch(3, 'api')
|
|
# Gitlab.repo_unprotect_branch(5, 'master')
|
|
#
|
|
# @param [Integer] project The ID of a project.
|
|
# @param [String] branch The name of the branch.
|
|
# @return [Gitlab::ObjectifiedHash]
|
|
def unprotect_branch(project, branch)
|
|
put("/projects/#{project}/repository/branches/#{branch}/unprotect")
|
|
end
|
|
alias_method :repo_unprotect_branch, :unprotect_branch
|
|
|
|
# Creates a repository branch. Requires Gitlab >= 6.8.x
|
|
#
|
|
# @example
|
|
# Gitlab.create_branch(3, 'api')
|
|
# Gitlab.repo_create_branch(5, 'master')
|
|
#
|
|
# @param [Integer] project The ID of a project.
|
|
# @param [String] branch The name of the new branch.
|
|
# @param [String] ref Create branch from commit sha or existing branch
|
|
# @return [Gitlab::ObjectifiedHash]
|
|
def create_branch(project, branch, ref)
|
|
post("/projects/#{project}/repository/branches",:body => {:branch_name => branch, :ref => ref})
|
|
end
|
|
alias_method :repo_create_branch, :create_branch
|
|
|
|
end
|
|
end
|
|
|