Существует ли специальный протокол для добавления всего в Git с помощью Rugged?

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

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

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

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


person T145    schedule 21.11.2014    source источник


Ответы (1)


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

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

person Carlos Martín Nieto    schedule 22.11.2014