2014-11-21 1 views
1

Недавно я начал использовать Rugged и уже столкнулся с некоторыми проблемами. В основном все, что я хочу сделать, это добавить все в репозиторий Git, совершить поэтапные изменения и направить все на ветку. Я начал с первого шага следующим образом:Есть ли конкретный протокол, чтобы добавить все в Git с помощью Rugged?

@repo = Rugged::Repository.new(Dir.pwd) 
@index = @repo.index 

def git_add 
    @index.add mode: 'add-all' 
end 

Но консоль в конце концов кричит на меня. Я просмотрел документацию libgit2 и не нашел примеров добавления всего в репо. Некоторые тщательные результаты в Googling дали аналогичные результаты. Возможно, я просто застрял в @repo.workdir.entries как параметр path для index.add, но я не уверен. Есть ли лучший способ сделать это?

ответ

4

В зависимости от того, хотите ли вы создать любой файл или только те, которые уже есть, у вас есть два варианта: Index#add_all и Index#update_all соответственно.

Вы можете использовать repo.index.add_all() для размещения каждого файла в указанном каталоге. Вы можете использовать repo.index.update_all(), чтобы сделать то же самое, но только для тех файлов, которые уже известны в репозитории, аналогично параметрам git's -A и -u.