Sono un contributore a un progetto molto vecchio attualmente in fase di relicensing. Ci sono solo circa 30 contributori al progetto, ma a questo punto ha quasi dieci anni; Molte di queste persone sono andate avanti e non sono sicuro di trovarle tutte.Come posso rimuovere TUTTI i contributi di qualcuno a un progetto usando git?
Il progetto utilizza attualmente git per il controllo della versione e git ha già la cronologia completa dal CVS.
Nel caso in cui non riesco a contattare qualcuno, dobbiamo rimuovere TUTTO il loro lavoro e tutto ciò che deriva da quel lavoro. C'è un modo per far sì che Git rimuova tutti i commit di una persona e qualsiasi commit che abbia toccato le righe inserite da quella persona?
Questa è una misura incredibilmente drastica che deve essere presa. Cosa succede se il commit tocca un intero modulo, che era piccolo ma non ha mai avuto bisogno di essere aggiornato poiché ha eseguito correttamente la sua funzione? – Makoto
La licenza lo richiede. Mi fa schifo pensare che devo distruggere dieci anni di lavoro perché qualcun altro dieci anni fa ha fatto un errore burocratico (usato GPL invece di LGPL, quando siamo un plugin DLL per un simulatore closed-source) ma tale è la legge. –
Questo è piuttosto pericoloso in quanto sono sicuro che rimuovere il commit sarebbe molto distruttivo per il progetto. Non so se stai usando github/bitbucket/etc ma forse li manderai via email per vedere quali sono le tue possibilità? –