1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/simon-go-gitee

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 5.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 14:39 649164a

Как внести свой вклад

Мы будем рады принять ваши патчи и вклады в этот проект. Есть несколько небольших рекомендаций, которые вам необходимо соблюдать.

Лицензионное соглашение участника

Вклады в любой проект Google должны сопровождаться Лицензионным соглашением участника. Это не передача авторских прав, оно просто даёт Google разрешение на использование и распространение ваших вкладов как части проекта. Перейдите по ссылке https://cla.developers.google.com/, чтобы увидеть текущие соглашения или подписать новое.

Как правило, вам нужно подать CLA только один раз, поэтому если вы уже отправили его (даже если это было для другого проекта), вам, вероятно, не нужно делать это снова.

Отправка патча

  1. Обычно лучше всего начать с открытия новой проблемы, описывающей ошибку или функцию, которую вы собираетесь исправить. Даже если вы считаете, что это относительно незначительная проблема, полезно знать, над чем работают другие люди. Упомяните в первоначальном выпуске, что вы планируете работать над этой ошибкой или функцией, чтобы её могли поручить вам.

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

  3. Go упрощает обеспечение правильного форматирования кода, поэтому всегда запускайте go fmt перед фиксацией кода. Вы также должны запустить golint для своего кода. Как отмечается в readme golint, не обязательно, чтобы ваш код был полностью «без ворса», но это поможет вам найти общие проблемы стиля.

  4. Любые значительные изменения почти всегда должны сопровождаться тестами. В проекте уже есть хорошее тестовое покрытие, поэтому посмотрите на некоторые существующие тесты, если вы не уверены, как это сделать. Gocov и gocov-html — бесценные инструменты для определения того, какие части вашего кода не используются вашими тестами.

  5. Пожалуйста, запустите:

    • go generate github.com/weilaihui/go-gitee/...
    • go test github.com/weilaihui/go-gitee/...
    • go vet github.com/weilaihui/go-gitee/...
  6. Постарайтесь, чтобы сообщения о фиксации были хорошо сформированы для каждого изменения. Это обеспечивает согласованность во всём проекте и гарантирует, что сообщения о фиксации могут быть правильно отформатированы различными инструментами git.

  7. Наконец, отправьте коммиты в свою вилку и отправьте запрос на вытягивание.

Другие заметки по организации кода

В настоящее время всё определено в основном пакете github, а методы API разбиты на отдельные сервисные объекты. Эти сервисы напрямую соответствуют тому, как организована документация API Gitee, так что используйте её в качестве руководства для размещения новых методов.

Код организован в файлах, также довольно близко следуя документации GitHub API, в формате {service}_{api}.go. Например, методы, определённые по адресу https://developer.github.com/v3/repos/hooks/, находятся в файле repos_hooks.go.

Руководство сопровождающего

(Эти заметки в основном предназначены только для людей, объединяющих запросы на вытягивание.)

Проверьте CLAs. CLAs должны быть в наличии для отправителя запроса на вытягивание и автора(ов) фиксации. Система проверки CLA Google должна обрабатывать это автоматически и будет устанавливать статусы фиксации соответствующим образом. Если когда-либо возникнут вопросы о запросе на вытягивание, обратитесь к willnorris.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/simon-go-gitee.git
git@api.gitlife.ru:oschina-mirror/simon-go-gitee.git
oschina-mirror
simon-go-gitee
simon-go-gitee
master