Итак, вы хотите начать помощь в работе с libgit2
? Это замечательно! Мы приветствуем ваши вклады и обещаем сделать всё возможное, чтобы быть доброжелательными.
Это список проектов, связанных с libgit2
, которые новые участники могут взять на себя. Включает в себя несколько хороших стартовых проектов, а также некоторые большие идеи, над которыми никто не работает активно.
Пожалуйста, начните с чтения файлов README.md, contributing.md и conventions.md перед началом работы над одним из этих проектов. Эти файлы объясняют наш рабочий процесс и правила оформления кода, чтобы гарантировать, что ваш вклад будет легко интегрирован в libgit2
.
Далее выполните инструкции сборки и убедитесь, что вы можете клонировать репозиторий, скомпилировать его и успешно запустить тесты. Это гарантирует, что ваша среда разработки правильно настроена, и вы готовы начать работу над разработкой libgit2
.
Это хорошие небольшие проекты для начала работы с libgit2
. Изучите программы в папке examples/
, найдите существующий пример, который отражает базовую команду Git, и добавьте недостающую опцию командной строки. В настоящее время есть много пробелов, и это поможет продемонстрировать, как использовать библиотеку. Вот несколько конкретных идей (хотя их гораздо больше): * Устраните проблему реализации опции командной строки -B
(также известной как --break-rewrites
) в файле examples/diff.c
. Нужно будет найти конфигурационные значения [<n>][/<m>]
. В коде уже есть комментарий /* TODO: parse thresholds */
. Основная задача здесь — сделать это так, чтобы было чисто и просто, но при этом корректно обрабатывались все случаи (например, -B/70%
является допустимым значением).
Как расширение идеи для файла examples/log.c
, добавьте опцию -i
для использования функции strcasestr()
для поиска совпадений.
Для файла examples/log.c
реализуйте опцию --first-parent
, теперь когда библиотека libgit2 поддерживает её в API revwalk.
Выберите команду Git, которая ещё не эмулируется в папке examples/
, и напишите новый пример, который бы её отражал. Примеры не должны быть идеальными эмуляциями, но они должны демонстрировать, как использовать API библиотеки libgit2 для получения результатов, аналогичных командам Git. Это позволяет вам (и нам) легко тестировать определённые аспекты API и измерять совместимость и соответствие функциональности с основной версией Git.
Подайте pull request для уточнения документации! Хотя мы стараемся документировать все API, ваши свежие глаза помогут быстро выявить области, которые могут вызывать путаницу. Если ни один из этих вариантов вам не подходит, обратитесь к нашему списку задач, чтобы узнать, есть ли нерешенные задачи, в которых вы хотели бы принять участие.## Большие проекты
Это идеи для больших проектов, основанные на наших архивах Задач. Пожалуйста, не приступайте к одному из этих проектов как к первому проекту для libgit2 — мы предпочли бы сначала познакомиться с вами через успешное завершение работы над одним из меньших проектов выше.
Некоторые из этих проектов разделены на подпроекты и/или имеют некоторые пошаговые действия, направленные на достижение более крупной цели. Эти шаги могут стать хорошими малыми проектами самостоятельно.* Порт части тестового набора Git для выполнения против эмуляции командной строки в examples/
* Выберите одну из команд Git, имитируемых в нашей области examples/
* Извлечение тестов Git, которые проверяют эту команду
* Преобразование тестов для вызова нашей эмуляции
* Эти тесты могли бы находиться в examples/tests/
.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )