Ho trovato un ottimo progetto su github con un'utile funzione centrale ma che è approssimativa nella "lucidatura" di gestione degli errori, registrazione, configurazione e configurazione. Il progetto è intatto per 5 anni e solo un paio di centinaia di righe di codice. Tuttavia è abbastanza utile aver attirato l'attenzione su un numero decente di osservatori e una manciata di forchette.
Per il mio uso era necessaria un'aggiunta specifica, ma prima ho fatto un po 'di pulizia. Poi sono diventato un po 'ossessionato dall'ingegnere e nel corso di una settimana ho finito per aggiungere un sistema di registrazione, molte registrazioni, una configurazione automatizzata, una configurazione fatturata fuori dal codice e in file di configurazione esterni (e codice per leggerli), più un paio di correzioni di bug proprio come le ho trovate.
Penso che tutti i miei cambiamenti siano ragionevoli / buoni e siano ciò di cui ha bisogno per essere utilizzabile da un pubblico. Ma ci sono molti impegni, quasi quanti ne avevano originariamente i pronti contro termine (evitando numeri per mantenere questo generale). Inoltre, la colpa di git mostra che ho toccato quasi ogni riga di questa (piccola!) Base di codice. Non sto cercando il controllo del progetto, né necessariamente alcun credito per quello che ho fatto. Ma data la scelta, vorrei vedere le mie modifiche unite in modo che tutti potessero trarne beneficio, piuttosto che nascondermi in una biforcazione sul mio github sconosciuto.
Non ho mai inviato una richiesta pull prima, ma so che dovrebbero essere piccoli e facili da rivedere. Eppure qui sono partito e ho apportato una grande quantità di cambiamenti trasformativi.
I miei impegni sono molto chiari mentre mi occupavo attentamente della storia. Ma sarebbero difficili da separare in più rami / richieste pull perché gran parte di esso si basa necessariamente su se stesso. Ad esempio, l'esternalizzazione della configurazione si basa su una pulizia preliminare e l'installazione esiste in parte per popolare quelle configurazioni, la registrazione è abilitata e configurata dalle configurazioni esterne create nell'installazione, ecc. Detto questo, sono molto disposto a faccio quello che posso per rendere più appetibile questa enorme pillola, semplicemente non so quale sarebbe. Potrei dividere un paio di impegni, ma la grande revisione è ancora grande.
Quindi cosa si può fare se revisionano accidentalmente il progetto di qualcuno?
Devo solo imparare la mia lezione a non farlo e mantenere le mie modifiche nel mio fork? Devo solo fare una richiesta pull e vedere cosa succede? Dovrei spendere un sacco di parole spiegandomi nella descrizione? Dovrei presentarlo in un certo modo?