Module: OpenGit::Git

Defined in:
lib/open_git/git.rb

Defined Under Namespace

Classes: InvalidRemoteError, NoGitRepoError

Class Method Summary collapse

Class Method Details

.branchObject



32
33
34
# File 'lib/open_git/git.rb', line 32

def self.branch
  return `git rev-parse --abbrev-ref HEAD`.strip
end

.is_git_repoObject

asserting that rest of git commands will work



10
11
12
13
# File 'lib/open_git/git.rb', line 10

def self.is_git_repo
  # only returns true if in git repo and not in the .git folder itself
  `git rev-parse --is-inside-work-tree`.strip == "true"
end

.remoteObject



27
28
29
30
# File 'lib/open_git/git.rb', line 27

def self.remote
  lines = `git remote`.lines
  lines[-1].strip
end

.remote_url(remote_name) ⇒ Object



15
16
17
# File 'lib/open_git/git.rb', line 15

def self.remote_url(remote_name)
  `git ls-remote --get-url #{remote_name}`.strip
end

.url(name = nil) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/open_git/git.rb', line 19

def self.url(name = nil)
  remote_name = name || self.remote
  url = self.remote_url(remote_name)
  # git returns the remote id instead of link if it is not valid
  raise OpenGit::Git::InvalidRemoteError if url == remote_name
  url
end