Как получить дату последней фиксации файла с помощью ruby/grit?

У меня есть сайт jekyll, и я хочу найти дату последней фиксации определенного сообщения, используя ruby/grit.

Я знаю, что могу сделать следующее с помощью git:

git log -1 --format="%cd" -- <file>

Как я могу сделать что-то эквивалентное, используя ruby/grit, пожалуйста?


person Robert Audi    schedule 07.02.2012    source источник
comment
Чтобы продолжить, вы должны показать нам код, который вы попробовали, и все ошибки, которые вы получили при его запуске.   -  person the Tin Man    schedule 08.02.2012


Ответы (2)


Вы можете просто сделать это:

repo = Grit::Repo.new(...)
repo.log('master', path_of_the_file, max_count: 1)[0].date

Надеюсь, это поможет!

person Pablo Fernandez heelhook    schedule 17.03.2012

Из документации по файлам для mtime:

Возвращает время модификации именованного файла в виде объекта Time.

File.mtime("testfile")   #=> Tue Apr 08 12:58:04 CDT 2003

Ruby также поддерживает ctime, когда информация о каталоге для файла была изменена. В Windows ctime ведет себя немного по-другому, потому что Windows поддерживает время создания файлов, в отличие от Linux и Mac OS.

person the Tin Man    schedule 07.02.2012
comment
Я думал об этом, но это не сработало бы для меня. То, что я пытаюсь получить, - это дата/время последней фиксации файла, а не фактическая дата модификации. - person Robert Audi; 08.02.2012
comment
Было бы хорошо, если бы вы уточнили свой вопрос, потому что вы говорите о времени фиксации сейчас, а не о времени модификации, как в вопросе. - person the Tin Man; 08.02.2012
comment
Прежде всего, извините за поздний ответ. Вы совершенно правы, я сейчас отредактирую заголовок. Я также узнал, что git log -1 --format="%cd" -- <file> указывает дату последней фиксации файла. То, что я пытался сделать, это сделать то же самое, используя Grit. - person Robert Audi; 10.02.2012