Как проще всего отправлять исправления ошибок в проекты с открытым исходным кодом с помощью SVN?[закрыто]
-
22-08-2019 - |
Вопрос
Как проще всего отправить работающий патч или исправление ошибок в проект с открытым исходным кодом с помощью SVN?
В идеале я хотел бы отправить исправление или исправление, чтобы они могли легко применить его непосредственно в своем репозитории, если они его одобрят.
Я использую TortoiseSVN, если это имеет значение.
Решение
Вот что вам следует сделать:
- Убедитесь, что ошибка еще не исправлена (в стволе или ветке).Часто ошибки, присутствующие в релизе, уже исправлены в коде разработки.
- Получите рабочую копию кода
- Исправьте ошибку в своей рабочей копии, скомпилируйте и протестируйте ее.
- При исправлении ошибки используйте тот же стиль кодирования (например, табуляции/пробелы, отступы, имена переменных и т. д.), что и существующий код.
- Поскольку вы используете TortoiseSVN:щелкните правой кнопкой мыши на своей рабочей копии, подменю TSVN->Создать патч.Сохраните файл патча куда-нибудь.
- заархивируйте файл патча (большинство почтовых приложений портят пробелы в прикрепленных текстовых файлах, а файл патча вообще не следует портить - его архивирование предотвращает это)
- Отправьте файл исправления в список рассылки проекта (или разработчику проекта), описав исправленную вами ошибку, как ошибку можно воспроизвести (или как вы ее обнаружили) и, возможно, как вы ее исправили.
- Проверьте список рассылки на наличие вопросов, которые могут возникнуть у разработчиков по поводу вашего патча.
Другие советы
щелкните правой кнопкой мыши-> черепаха svn-> создать патч
Это сохранит изменения в вашей рабочей копии в файле патча.При этом вы увидите полный список изменений, которые у вас есть :)
Пс.обратите внимание, что с помощью ->apply patch любой может легко применить сохраненный патч к локальной версии.
Необычно то, что доступ к SVN доступен только разработчикам, просто чтобы предотвратить несчастные случаи, допущенные людьми, которые могут не знать код или даже захотеть снести репозиторий.Патчи можно отправлять через багтрекеры — вы проверяете их, а затем изменяете рабочую копию.Поскольку вы не можете отправить свои изменения обратно с помощью SVN, вы создаете файл различий (патч) и публикуете его на форуме обсуждения проекта или в системе отслеживания ошибок, в зависимости от проблемы, которую он решает.Если бы оно понравилось пользователям и разработчикам, они бы интегрировали его с официальным репозиторием.С файлом различий это довольно просто.
Обратите внимание, что иногда можно получить собственную ветку проекта.Например, игра с открытым исходным кодом OpenTTD предлагает репозитории git для людей, которые хотели бы поддерживать свои собственные патчи или новые функции.Другие проекты могут использовать Launchpad.
Вам необходимо убедиться, что у вас установлены последние обновления исходного кода, а также убедиться, что любые внесенные вами изменения по-прежнему корректно сливаются с кодом.После этого вам нужно будет сравнить исходный исходный код и новый написанный вами исходный код (svn diff).
Вы берете этот diff и отправляете его в подходящее место, например, в список рассылки, в какой-нибудь сервис отслеживания ошибок или первоначальному автору, если проект выполняется одним человеком.