Bravo à ton équipe et à toi pour cet excellent boulot. Encore quelques pistes:
pourquoi inclure du code généré dans le tree? traditionnellement on fait une sorte de "make dist" qui va générer tous le fichiers nécessaires à la distribution d'un tarball source.
si le code conflictuel est uniquement issu des fichiers générés, ne les générez plus... :) ou bien uniquement dans des branches dédiées.
n'est-il vraiment pas possible de fusionner le tout après une certaine réorganisation ? Ce qui est dans /example devient example/gtk2, /src/ -> /src/gtk2, ce qui est commun ou qui peut facilmenent le devenir (mode de compilation et/ou #define) va dans /src/common. Le coeur de génération a déjà l'air d'être commun ce qui est une très bonne chose. J'imagine que le gros du travail sera de fusionner les fichiers cmake/meson. Il suffirait à mon sens de générer une (sous-)librairies par version de gtk, rien d'impossible AMHA.
si vraiment vous souhaitez garder des branches, avoir une telle séparation au niveau des noms des répertoires et fichiers simplifiera grandement les différents merges. Par exemple: vous développez src/cfwrapper dans sa propre branche que vous fusionnez régulièrement dans les branches gtk2,3 (et 4).... Mais encore une fois, celà me semble une approche compliquée.
git-filter-branch/filer-repo peut aider à faire ce genre de réorganisation en gardant l'historique.
[^] # Re: Une seule branche avec des options de compilation
Posté par benja . En réponse au message git : comment appliquer une même sous-branche à deux branches ?. Évalué à 1. Dernière modification le 22 février 2020 à 11:45.
Bravo à ton équipe et à toi pour cet excellent boulot. Encore quelques pistes:
pourquoi inclure du code généré dans le tree? traditionnellement on fait une sorte de "make dist" qui va générer tous le fichiers nécessaires à la distribution d'un tarball source.
si le code conflictuel est uniquement issu des fichiers générés, ne les générez plus... :) ou bien uniquement dans des branches dédiées.
n'est-il vraiment pas possible de fusionner le tout après une certaine réorganisation ? Ce qui est dans /example devient example/gtk2, /src/ -> /src/gtk2, ce qui est commun ou qui peut facilmenent le devenir (mode de compilation et/ou #define) va dans /src/common. Le coeur de génération a déjà l'air d'être commun ce qui est une très bonne chose. J'imagine que le gros du travail sera de fusionner les fichiers cmake/meson. Il suffirait à mon sens de générer une (sous-)librairies par version de gtk, rien d'impossible AMHA.
si vraiment vous souhaitez garder des branches, avoir une telle séparation au niveau des noms des répertoires et fichiers simplifiera grandement les différents merges. Par exemple: vous développez src/cfwrapper dans sa propre branche que vous fusionnez régulièrement dans les branches gtk2,3 (et 4).... Mais encore une fois, celà me semble une approche compliquée.
git-filter-branch/filer-repo peut aider à faire ce genre de réorganisation en gardant l'historique.