2011-02-17 45 views

回答

0

最後我想出這樣的:

# Check if a Branch Exists 
def branch_exists(branch) 
    branches = run("git branch",false) 
    regex = Regexp.new('[\\n\\s\\*]+' + Regexp.escape(branch.to_s) + '\\n') 
    result = ((branches =~ regex) ? true : false) 
    return result 
end 

其中行程是反引號的表達。理由是該代碼具有高度的可移植性,並且不允許任何其他依賴項。而git安裝在環境中。

5

有一些用於訪問git存儲庫的ruby庫,一個是grit

安裝使用[sudo] gem install grit

$ irb 
>> require 'grit' 
=> true 
>> repo = Grit::Repo.new('/path/to/your/repo/') 
=> #<Grit::Repo "/path/to/your/repo/.git"> 
>> repo.branches 
=> [#<Grit::Head "master">, #<Grit::Head "some-topic-branch">, ...]