Class: SimpleGit::Repository

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_git/repository.rb

Defined Under Namespace

Classes: RepositoryWrapper

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ Repository

Returns a new instance of Repository.



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/simple_git/repository.rb', line 5

def initialize(path)
  wrapper = RepositoryWrapper.new
  ret = Git2.git_repository_open(wrapper, path)
  if ret != 0
    error = Git2::GitError.new(Git2.giterr_last)
    raise ArgumentError, error[:message].read_string
  end

  @ptr = wrapper[:repo]

  ObjectSpace.define_finalizer(self, self.class.finalize(@ptr))
end

Instance Attribute Details

#ptrObject

Returns the value of attribute ptr.



3
4
5
# File 'lib/simple_git/repository.rb', line 3

def ptr
  @ptr
end

Instance Method Details

#headObject



29
30
31
# File 'lib/simple_git/repository.rb', line 29

def head
  Reference.new.from_head(self)
end

#revparse(refspec) ⇒ Object



18
19
20
21
22
23
24
25
26
27
# File 'lib/simple_git/repository.rb', line 18

def revparse(refspec)
  wrapper = SimpleGit::Object::ObjectWrapper.new
  ret = Git2.git_revparse_single(wrapper, @ptr, refspec)
  if ret != 0
    error = Git2::GitError.new(Git2.giterr_last)
    raise ArgumentError, error[:message].read_string
  end

  Object.new.from_wrapper(wrapper)
end