Проверить, существует ли ветка git в локальном хранилище с помощью ruby? - PullRequest
0 голосов
/ 17 февраля 2011

Как лучше всего проверить, существует ли ветка git в локальном репозитории git с помощью ruby? Мои навыки в рубине не так хороши, поэтому хотелось бы узнать, как это сделать :) Спасибо.

Ответы [ 2 ]

5 голосов
/ 17 февраля 2011

Есть библиотеки ruby ​​для доступа к репозиториям git, одна из которых 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">, ...]
0 голосов
/ 13 марта 2011

Я закончил тем, что придумал:

# 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

Где run - выражение обратного удара.Причина заключается в том, что код должен быть очень переносимым и не допускается никаких других зависимостей.Принимая во внимание, что git установлен в среде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...