Я случайно пересмотрел чей-то весь проект. Любой приемлемый способ вытащить запрос?


12

Я нашел отличный проект на github с полезной центральной функцией, но он груб в "полировке" обработки ошибок, регистрации, конфигурирования и настройки. Проект 5 лет не тронут, и всего пара сотен строк кода. Тем не менее, это достаточно полезно, чтобы привлечь к себе внимание приличного количества наблюдателей и нескольких вилок.

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

Я думаю, что все мои изменения являются разумными / хорошими, и это то, что нужно для использования аудиторией. Но есть много коммитов, почти столько же, сколько было в репо (избегая цифр, чтобы сохранить это общее). Кроме того, Git Blame показывает, что я коснулся почти каждой строки этого (маленького!) Кода. Я не ищу контроль над проектом, или даже не обязательно кредит за то, что я сделал. Но если бы у меня был выбор, я бы хотел, чтобы мои изменения объединились, чтобы каждый мог воспользоваться ими, а не прятаться в развилке моего неизвестного github.

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

Мои коммиты очень чисты, так как я внимательно следил за историей. Но их было бы трудно разделить на несколько запросов ветвления / извлечения, потому что большая часть их обязательно строится на себе. Например, экстернализация конфигурации основана на некоторой подготовительной очистке, и настройка существует частично для заполнения этих конфигов, ведение журнала включено и настраивается внешними конфигами, созданными в установке, и т. Д. При этом я очень хочу сделай все возможное, чтобы сделать эту огромную таблетку более вкусной, я просто не знаю, что это будет. Я мог бы выделить пару коммитов, но капитальный ремонт все еще велик.

Так что же делать, если они случайно пересмотрят чей-то проект?

Должен ли я просто выучить свой урок, чтобы не делать этого, и держать свои изменения при себе в своей вилке? Должен ли я просто сделать запрос на просмотр и посмотреть, что произойдет? Стоит ли тратить кучу слов, объясняющих себя в описании? Должен ли я представить это определенным образом?

Ответы:


30

Если проект был «5 лет нетронутым», как вы написали, вполне вероятно, что запросы на получение не будут приниматься, независимо от того, исправили ли опечатку в комментарии или полностью переписали. Проект, вероятно, был заброшен первоначальными авторами.

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

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

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


2
Спасибо за проверку реальности. Я постараюсь связаться с автором и почувствовать его отношение к проекту.
user1169420
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.