Как экспортировать временную шкалу ископаемого-scm в другой формат

Я использую FossilSCM как единственное решение для контрольной версии и тикетов. Все идет нормально. Его автономный и минималистский подход соответствует моим потребностям. Но я хотел бы начать с анализа истории и развития проектов, и хорошим источником для этого являются сроки проектов. Я мог бы выполнить некоторый синтаксический анализ html, пытаясь преобразовать вывод временной шкалы Fossil во что-то другое, но я хотел бы, чтобы была возможность экспортировать эту информацию в другой структурированный формат (например, JSON или аналогичный). Поиск в Интернете не дал никаких полезных результатов по этому вопросу. Любые указатели на решение?

Спасибо,

Offray


person Offray    schedule 01.06.2015    source источник


Ответы (2)


Вы пробовали fossil json timeline branch trunk?

fossil help json
Usage: fossil json SUBCOMMAND ?OPTIONS?

In CLI mode, the -R REPO common option is supported. Due to limitations
in the argument dispatching code, any -FLAGS must come after the final
sub- (or subsub-) command.

The commands include:

  anonymousPassword
  artifact
  branch
  cap
  config
  diff
  dir
  g
  login
  logout
  query
  rebuild
  report
  resultCodes
  stat
  tag
  timeline
  user
  version (alias: HAI)
  whoami
  wiki

Run 'fossil json' without any subcommand to see the full list (but be
aware that some listed might not yet be fully implemented).

Компилировать json при сборке из исходников: ./configure --json

person Registered User    schedule 01.06.2015
comment
Спасибо, что указали мне правильное направление. Проблема заключалась в том, что текущая версия ископаемого поставляется без поддержки json. Скоро напишу отзыв о том, что сделал по вашему совету. - person Offray; 02.06.2015

Ключ к тому, чтобы это работало, — включить поддержку json в ископаемом, скомпилировав его из исходников. В текущей версии он отключен, поэтому поиск любой подсказки в справке командной строки изначально ничего не дал. Спасибо пользователю 2612611 за первоначальную информацию об этом. Вот процедура, которой я следовал:

  1. Перейдите на страницу https://www.fossil-scm.org/download.html и загрузите архив с исходным кодом.
  2. Распакуйте предыдущий пакет.
  3. Перейдите в папку, в которую вы распаковали пакет (назовем ее /uncompress-folder
  4. Беги ./configure --json
  5. Выполнить make.
  6. Необязательно: поместите только что созданный двоичный файл ископаемого в свой путь или туда, где был установлен последний (что-то вроде sudo mv /uncompress-folder/fossil /usr/bin/fossil.
  7. Откройте репозиторий ископаемых, историю которого вы хотите экспортировать, и запустите веб-интерфейс ископаемых (fossil ui).
  8. Перейдите по адресу http://localhost:8080/json/timeline/checkin?limit=0 , где http://localhost:8080 — это ваш локальный компьютерный интерфейс для пользовательского интерфейса ископаемого, а json/timeline/checkin?limit=0 — это вызов API json, говорящий: json экспорт временной шкалы (/json/timeline) чекинов (/checkin) для всей истории (?limit=0). Если вместо 0 в конце url поставить другое целое число, у вас будут последние n чекинов.

    Из командной строки вы сможете получить тот же результат, запустив fossil json timeline checkin --limit=0 > timeline.json, хранящийся в файле timeline.json, вместо веб-браузера, но в локальном тесте это не сработало.

API все еще находится в стадии разработки, но вы можете найти документацию по этому прекрасному проекту в [1] и демонстрационный интерфейс для тестирования параметров в [2].

[1] https://docs.google.com/document/d/1fXViveNhDbiXgCuE7QDXQOKeFzf2qNUkBEgiUvoqFN4/view?pli=1#

[2] http://fossil.wanderinghorse.net/repos/fossil-sgb/json/

person Offray    schedule 01.06.2015