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

OSCHINA-MIRROR/mirrors-alloy

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

Вклад в AlloyTools

Хотите поработать над AlloyTools? Вот инструкции, которые помогут вам начать. Они, вероятно, не идеальны, пожалуйста, сообщите нам, если что-то кажется неправильным или неполным.

Сообщение о проблемах

При сообщении о проблемах на GitHub, пожалуйста, укажите версию Alloy, которую вы используете (посмотрите в окне «О программе» или из командной строки укажите -v), а также версию Java (java -version) и сведения о вашей ОС.

Среда сборки

Для сборки AlloyTools нужна только Java. Мы используем Java 8. Мы используем Gradle для сборки, и в репозитории есть gradlew, который получает нужную версию Gradle.

./gradlew build — собирает и тестирует проекты.

Мы используем Travis CI и в репозитории есть файл .travis.yml для сборки на Travis CI.

Рабочий процесс

Мы используем треугольный рабочий процесс git. Это означает, что никто, даже сопровождающие Alloy, не может напрямую отправлять изменения в основной репозиторий AlloyTools. Все вклады поступают через запросы на вытягивание. Поэтому каждому участнику потребуется создать форк основного репозитория Alloy на GitHub. Все вклады вносятся в виде коммитов в ваш форк. Затем вы отправляете запрос на вытягивание, чтобы их рассмотрели для слияния с основным репозиторием Alloy.

Настройка треугольного рабочего процесса

После создания форка основного репозитория Alloy на GitHub вы можете клонировать основной репозиторий в свою систему:

git clone https://github.com/AlloyTools/org.alloytools.alloy.git

Это клонирует основной репозиторий на локальный диск и устанавливает удалённый источник в Git. Далее вы настроите вторую сторону треугольника на свой форк репозитория.

cd org.alloytools.alloy
git remote add fork git@github.com:github-user/org.alloytools.alloy.git

Обязательно замените URL на SSH-адрес вашего форка репозитория на GitHub. Затем мы настраиваем локальный репозиторий для отправки ваших коммитов на форк репозиторий.

git config remote.pushdefault fork

Теперь вы будете получать данные из origin, основного репозитория, и отправлять их в fork, свой форк репозитория. Для этого требуется как минимум Git 1.8.4. Также рекомендуется настроить

git config push.default simple

если вы ещё не используете Git 2.0, где это значение по умолчанию.

Наконец, третья сторона треугольника — это запросы на вытягивание из вашего форка в основной репозиторий.

Убедитесь, что вы настроили Travis CI для своего форка репозитория для тестирования ваших коммитов при отправке их на ваш форк репозиторий. Travis CI также будет создавать любые отправленные вами запросы на вытягивание.

Рекомендации по вкладу

Запросы на вытягивание всегда приветствуются

Мы всегда рады получать запросы на вытягивание и делаем всё возможное, чтобы обработать их как можно быстрее. Не уверены, стоит ли отправлять этот запрос? Сделайте это! Мы будем признательны.

Если ваш запрос на вытягивание не принят с первой попытки, не расстраивайтесь! Если есть проблема с реализацией, надеемся, вы получили отзыв о том, что нужно улучшить.

Мы очень стараемся поддерживать Alloy компактным и сфокусированным. Мы не хотим, чтобы он делал всё для всех. Это значит, что мы можем решить не включать новую функцию. Однако может быть способ реализовать эту функцию поверх Alloy.

Создавайте проблемы...

Любое существенное улучшение должно быть задокументировано как проблема GitHub до того, как кто-либо начнёт над ним работать.

...но сначала проверьте, нет ли уже существующих проблем!

Пожалуйста, уделите время тому, чтобы проверить, не существует ли уже проблемы, документирующей ваш отчёт об ошибке или предложение по улучшению. Если она есть, никогда не помешает добавить быстрое «+1» или «У меня тоже есть эта проблема». Это поможет расставить приоритеты наиболее распространённых проблем и запросов.

Соглашения

Создайте форк репозитория и внесите изменения в свой форк в функциональной ветке:

  • Если это ветка исправления ошибок, назовите её XXX-что-то, где XXX — это... Количество проблемы

Если это функциональная ветка, создайте проблему улучшения, чтобы объявить о своих намерениях, и назовите её XXX-что-то, где XXX — номер проблемы.

Отправьте модульные тесты для ваших изменений. Мы используем junit, и в большинстве проектов уже есть несколько тестовых случаев.

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

Пишите чистый код. Универсально отформатированный код способствует простоте написания, чтения и обслуживания. Мы используем Eclipse, и во всех проектах есть настройки Eclipse, которые правильно форматируют код. Убедитесь, что вы избегаете ненужных изменений пробелов, которые усложняют различия и делают просмотр запросов на вытягивание гораздо более трудоёмким.

Описания запросов на вытягивание должны быть как можно более чёткими и включать ссылку на все проблемы, которые они решают.

Запросы на вытягивание не должны содержать коммиты от других пользователей или веток.

Сообщения коммитов должны начинаться с краткого резюме (максимум 50 символов), написанного в повелительном наклонении, за которым следует необязательный, более подробный пояснительный текст, отделённый от резюме пустой строкой.

[визуальный] Исправить ошибку положения в визуализаторе

Положение узлов в трассировке различается, эта ошибка сохраняет один и тот же узел на одном и том же месте.

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

Прежде чем запрос на вытягивание будет объединён, убедитесь, что вы объединяете свои коммиты в логические единицы работы с помощью git rebase -i и git push -f. После каждого коммита набор тестов должен проходить. Включайте изменения документации в тот же коммит, чтобы при отмене были удалены все следы функции или исправления.

Коммиты, исправляющие или закрывающие проблему, должны включать ссылку типа «Закрывает #XXX» или «Исправляет #XXX», которая автоматически закроет проблему при объединении.

Подпишите свою работу

Подпись — это простая строка в конце сообщения коммита, которая подтверждает, что вы его написали или иным образом имеете право передать его в качестве патча с открытым исходным кодом. Правила довольно просты: если вы можете подтвердить нижеизложенное (с developercertificate.org):

Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

тогда вы просто добавляете строку в конец сообщения git commit:

Signed-off-by: Joe Smith joe.smith@email.com

используя своё настоящее имя. Извините, никаких псевдонимов или анонимных вкладов.

Многие инструменты пользовательского интерфейса Git имеют...

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

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

1
https://api.gitlife.ru/oschina-mirror/mirrors-alloy.git
git@api.gitlife.ru:oschina-mirror/mirrors-alloy.git
oschina-mirror
mirrors-alloy
mirrors-alloy
master