Voor een hobbyproject loop ik tegen een Git-uitdaging aan waarvan ik hoop dat jullie mij een zetje in de goede richting kunnen geven.
De situatie: ik wil een Foobar2000-plugin (deze) proberen uit te breiden naar mijn eigen wensen. Ik heb dus die repository gecloned en een paar aanpassingen moeten doen om te zorgen dat ik zijn code kon compilen. Specifiek is het .vcproj-bestand bijgewerkt naar de nieuwe versie van Visual Studio en heb ik wat filepaths naar headers aan moeten passen omdat mijn libraries ergens anders staan dan bij hem. Deze wijzigingen heb ik in een aparte branch gedaan (even 'compilable' genoemd).
Daarna ben ik in een feature-branch aan nieuwe functies gaan werken. Wanneer ik die wil compilen doe ik een tijdelijke merge met 'compilable' die ik daarna abort.
Dit is echter onhandig omdat zonder de compilable aanpassingen intellisense ook niet werkt. Daarom heb ik de laatste keer de merge gewoon laten staan.
Nu het probleem: Ik wil straks mijn nieuwe feature aanbieden bij de maker van de originele plug-in. Dat wil zeggen: al mijn commits, maar zonder compilable. Ik weet alleen niet wat de handigste methode daarvoor is. Ik heb de volgende twee opties bedacht.
- Als mijn feature af is de compilable-aanpassingen eruit halen door de merge (dan al een paar commits terug) te reverten. Dan moet ik die opnieuw mergen als ik verder wil werken.
- Met een rebase -i of cherrypick al mijn commits (behalve compilable) rebasen op origin/master. Ook dat moet ongedaan gemaakt worden als ik iets wil aanpassen.
Zijn dit goede opties of is er nog iets anders wat ik kan proberen? Of moet ik juist op een hele andere manier omgaan met de 'compilable'-aanpassingen?
Ik gebruik Visual Studio 2015 Community samen met de officiële Git-for-Windows build (en de meest recente Foobar-SDK, maar dat is niet zo relevant hier geloof ik).
De situatie: ik wil een Foobar2000-plugin (deze) proberen uit te breiden naar mijn eigen wensen. Ik heb dus die repository gecloned en een paar aanpassingen moeten doen om te zorgen dat ik zijn code kon compilen. Specifiek is het .vcproj-bestand bijgewerkt naar de nieuwe versie van Visual Studio en heb ik wat filepaths naar headers aan moeten passen omdat mijn libraries ergens anders staan dan bij hem. Deze wijzigingen heb ik in een aparte branch gedaan (even 'compilable' genoemd).
Daarna ben ik in een feature-branch aan nieuwe functies gaan werken. Wanneer ik die wil compilen doe ik een tijdelijke merge met 'compilable' die ik daarna abort.
Dit is echter onhandig omdat zonder de compilable aanpassingen intellisense ook niet werkt. Daarom heb ik de laatste keer de merge gewoon laten staan.
Nu het probleem: Ik wil straks mijn nieuwe feature aanbieden bij de maker van de originele plug-in. Dat wil zeggen: al mijn commits, maar zonder compilable. Ik weet alleen niet wat de handigste methode daarvoor is. Ik heb de volgende twee opties bedacht.
- Als mijn feature af is de compilable-aanpassingen eruit halen door de merge (dan al een paar commits terug) te reverten. Dan moet ik die opnieuw mergen als ik verder wil werken.
- Met een rebase -i of cherrypick al mijn commits (behalve compilable) rebasen op origin/master. Ook dat moet ongedaan gemaakt worden als ik iets wil aanpassen.
Zijn dit goede opties of is er nog iets anders wat ik kan proberen? Of moet ik juist op een hele andere manier omgaan met de 'compilable'-aanpassingen?
Ik gebruik Visual Studio 2015 Community samen met de officiële Git-for-Windows build (en de meest recente Foobar-SDK, maar dat is niet zo relevant hier geloof ik).
The above message has been encrypted using a quadruple ROT13-algorithm. --- Bad grammar makes me sic.