Class: Gollum::Git::Repo

Inherits:
Object
  • Object
show all
Defined in:
lib/grit_adapter/git_layer_grit.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path, options) ⇒ Repo

Returns a new instance of Repo.



287
288
289
290
291
292
293
294
295
# File 'lib/grit_adapter/git_layer_grit.rb', line 287

def initialize(path, options)
  begin
    @repo = Grit::Repo.new(path, options)
  rescue Grit::InvalidGitRepositoryError
    raise Gollum::InvalidGitRepositoryError
  rescue Grit::NoSuchPathError
    raise Gollum::NoSuchPathError
  end
end

Class Method Details

.init(path, git_options = {}, repo_options = {}) ⇒ Object



297
298
299
300
# File 'lib/grit_adapter/git_layer_grit.rb', line 297

def self.init(path, git_options = {}, repo_options = {})
  Grit::Repo.init(path, git_options, repo_options)
  self.new(path, {:is_bare => false})
end

.init_bare(path, git_options = {}, repo_options = {}) ⇒ Object



302
303
304
305
# File 'lib/grit_adapter/git_layer_grit.rb', line 302

def self.init_bare(path, git_options = {}, repo_options = {})
  Grit::Repo.init_bare(path, git_options, repo_options)
  self.new(path, {:is_bare => true})
end

Instance Method Details

#bareObject



307
308
309
# File 'lib/grit_adapter/git_layer_grit.rb', line 307

def bare
  @repo.bare
end

#commit(id) ⇒ Object



319
320
321
322
323
# File 'lib/grit_adapter/git_layer_grit.rb', line 319

def commit(id)
  commit = @repo.commit(id)
  return nil if commit.nil?
  Gollum::Git::Commit.new(@repo.commit(id))
end

#commits(start = 'master', max_count = 10, skip = 0) ⇒ Object



325
326
327
# File 'lib/grit_adapter/git_layer_grit.rb', line 325

def commits(start = 'master', max_count = 10, skip = 0)
  @repo.commits(start, max_count, skip).map{|commit| Gollum::Git::Commit.new(commit)}
end

#configObject



311
312
313
# File 'lib/grit_adapter/git_layer_grit.rb', line 311

def config
  @repo.config
end

#diff(sha1, sha2, path = nil) ⇒ Object



338
339
340
# File 'lib/grit_adapter/git_layer_grit.rb', line 338

def diff(sha1, sha2, path = nil)
  @repo.diff(sha1, sha2, path)
end

#gitObject



315
316
317
# File 'lib/grit_adapter/git_layer_grit.rb', line 315

def git
  @git ||= Gollum::Git::Git.new(@repo.git, bare)
end

#headObject



330
331
332
# File 'lib/grit_adapter/git_layer_grit.rb', line 330

def head
  Gollum::Git::Ref.new(@repo.head)
end

#indexObject



334
335
336
# File 'lib/grit_adapter/git_layer_grit.rb', line 334

def index
  @index ||= Gollum::Git::Index.new(@repo.index)
end

#log(commit = 'master', path = nil, options = {}) ⇒ Object



342
343
344
# File 'lib/grit_adapter/git_layer_grit.rb', line 342

def log(commit = 'master', path = nil, options = {})
  @repo.log(commit, path, options).map {|grit_commit| Gollum::Git::Commit.new(grit_commit)}
end

#lstree(sha, options = {}) ⇒ Object



346
347
348
# File 'lib/grit_adapter/git_layer_grit.rb', line 346

def lstree(sha, options = {})
  @repo.lstree(sha, options)
end

#pathObject



350
351
352
# File 'lib/grit_adapter/git_layer_grit.rb', line 350

def path
  @repo.path
end

#update_ref(head, commit_sha) ⇒ Object



354
355
356
# File 'lib/grit_adapter/git_layer_grit.rb', line 354

def update_ref(head, commit_sha)
  @repo.update_ref(head, commit_sha)
end