Module: Octokit::Client::Commits

Included in:
Octokit::Client
Defined in:
lib/octokit/client/commits.rb

Overview

Methods for the Commits API

Instance Method Summary collapse

Instance Method Details

#commit(repo, sha, options = {}) ⇒ Sawyer::Resource

Get a single commit


151
152
153
# File 'lib/octokit/client/commits.rb', line 151

def commit(repo, sha, options = {})
  get "#{Repository.path repo}/commits/#{sha}", options
end

#commits(repo, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource> #commits(repo, options = {}) ⇒ Array<Sawyer::Resource> Also known as: list_commits

List commits

Overloads:

  • #commits(repo, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>
    Deprecated.

See Also:


23
24
25
26
27
28
29
30
# File 'lib/octokit/client/commits.rb', line 23

def commits(*args)
  arguments = Octokit::RepoArguments.new(args)
  sha_or_branch = arguments.pop
  if sha_or_branch
    arguments.options[:sha] = sha_or_branch
  end
  paginate "#{Repository.new(arguments.repo).path}/commits", arguments.options
end

#commits_before(repo, date, options = {}) ⇒ Array<Sawyer::Resource> #commits_before(repo, date, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>

Get commits before a specified date

Examples:

Octokit.commits_before('octokit/octokit.rb', '2012-10-01')

Overloads:

  • #commits_before(repo, date, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>
    Deprecated.

See Also:


75
76
77
78
79
80
81
82
83
84
85
# File 'lib/octokit/client/commits.rb', line 75

def commits_before(*args)
  arguments = Octokit::RepoArguments.new(args)
  date   = parse_date(arguments.shift)
  params = arguments.options
  params.merge!(:until => iso8601(date))
  sha_or_branch = arguments.pop
  if sha_or_branch
    params[:sha] = sha_or_branch
  end
  commits(arguments.repo, params)
end

#commits_between(repo, start_date, end_date, options = {}) ⇒ Array<Sawyer::Resource> #commits_between(repo, start_date, end_date, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>

Get commits made between two nominated dates

Examples:

Octokit.commits_on('octokit/octokit.rb', '2012-10-01', '2012-11-01')

Overloads:

  • #commits_between(repo, start_date, end_date, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>
    Deprecated.

Raises:

  • (ArgumentError)

See Also:


130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/octokit/client/commits.rb', line 130

def commits_between(*args)
  arguments = Octokit::RepoArguments.new(args)
  date       = parse_date(arguments.shift)
  end_date   = parse_date(arguments.shift)
  raise ArgumentError, "Start date #{date} does not precede #{end_date}" if date > end_date

  params = arguments.options
  params.merge!(:since => iso8601(date), :until => iso8601(end_date))
  sha_or_branch = arguments.pop
  if sha_or_branch
    params[:sha] = sha_or_branch
  end
  commits(arguments.repo, params)
end

#commits_on(repo, date, options = {}) ⇒ Array<Sawyer::Resource> #commits_on(repo, date, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>

Get commits on a specified date

Examples:

Octokit.commits_on('octokit/octokit.rb', '2012-10-01')

Overloads:

  • #commits_on(repo, date, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>
    Deprecated.

See Also:


101
102
103
104
105
106
107
108
109
110
111
112
# File 'lib/octokit/client/commits.rb', line 101

def commits_on(*args)
  arguments = Octokit::RepoArguments.new(args)
  date   = parse_date(arguments.shift)
  params = arguments.options
  end_date = date + 1
  params.merge!(:since => iso8601(date), :until => iso8601(end_date))
  sha_or_branch = arguments.pop
  if sha_or_branch
    params[:sha] = sha_or_branch
  end
  commits(arguments.repo, params)
end

#commits_since(repo, date, options = {}) ⇒ Array<Sawyer::Resource> #commits_since(repo, date, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>

Get commits after a specified date

Examples:

Octokit.commits_since('octokit/octokit.rb', '2012-10-01')

Overloads:

  • #commits_since(repo, date, sha_or_branch, options = {}) ⇒ Array<Sawyer::Resource>
    Deprecated.

See Also:


49
50
51
52
53
54
55
56
57
58
59
# File 'lib/octokit/client/commits.rb', line 49

def commits_since(*args)
  arguments = Octokit::RepoArguments.new(args)
  date   = parse_date(arguments.shift)
  params = arguments.options
  params.merge!(:since => iso8601(date))
  sha_or_branch = arguments.pop
  if sha_or_branch
    params[:sha] = sha_or_branch
  end
  commits(arguments.repo, params)
end

#compare(repo, start, endd, options = {}) ⇒ Sawyer::Resource

Compare two commits


197
198
199
# File 'lib/octokit/client/commits.rb', line 197

def compare(repo, start, endd, options = {})
  get "#{Repository.path repo}/compare/#{start}...#{endd}", options
end

#create_commit(repo, message, tree, parents = nil, options = {}) ⇒ Sawyer::Resource

Create a commit

Optionally pass author and committer hashes in options if you'd like manual control over those parameters. If absent, details will be inferred from the authenticated user. See GitHub's documentation for details about how to format committer identities.

Examples:

Create a commit

commit = Octokit.create_commit("octocat/Hello-World", "My commit message", "827efc6d56897b048c772eb4087f854f46256132", "7d1b31e74ee336d15cbd21741bc88a537ed063a0")
commit.sha # => "7638417db6d59f3c431d3e1f261cc637155684cd"
commit.tree.sha # => "827efc6d56897b048c772eb4087f854f46256132"
commit.message # => "My commit message"
commit.committer # => { "name" => "Wynn Netherland", "email" => "[email protected]", ... }

See Also:


184
185
186
187
188
# File 'lib/octokit/client/commits.rb', line 184

def create_commit(repo, message, tree, parents=nil, options = {})
  params = { :message => message, :tree => tree }
  params[:parents] = [parents].flatten if parents
  post "#{Repository.path repo}/git/commits", options.merge(params)
end

#git_commit(repo, sha, options = {}) ⇒ Sawyer::Resource

Get a detailed git commit


161
162
163
# File 'lib/octokit/client/commits.rb', line 161

def git_commit(repo, sha, options = {})
  get "#{Repository.path repo}/git/commits/#{sha}", options
end

#merge(repo, base, head, options = {}) ⇒ Sawyer::Resource

Merge a branch or sha

Options Hash (options):

  • :commit_message (String)

    The commit message for the merge

See Also:


209
210
211
212
213
214
215
# File 'lib/octokit/client/commits.rb', line 209

def merge(repo, base, head, options = {})
  params = {
    :base => base,
    :head => head
  }.merge(options)
  post "#{Repository.path repo}/merges", params
end