1

Linked to : Multiple software versions using Git [closed]

I am new to git, and wanted to know if other way existed when maintaining multiple versions of software, my current workflow looks like this :

current git workflow diagram

However, It seems that it will be harder and harder to maintain in the long run. Do you have other workflows that could be better to maintain ?

I found some answer in this topic : Multiple software versions using Git [closed] The last answer proposed to create differents repository : two for each versions, and one for the common parts of the codes that are independant on versionning. Is it a good solution ?

Chewbaka
  • 184
  • 10
  • Similar to the question you reference, this question may also be at risk of getting closed for the same reason. Your graph explaining your desired goal does make this question *better*, though I'm not sure if it's targeted enough to get a good "correct" answer, based on the limited info provided. – TTT Feb 17 '22 at 19:32
  • Is a feature being in only one version or the other the norm or the exception? – TTT Feb 17 '22 at 19:36
  • Can you do feature toggles for all features that should only be in one version? If yes, code would be the same and only config files would need to differ. – TTT Feb 17 '22 at 19:36
  • Thank you for your reply, indeed, the question is quite similar,i did not comment on it because it was closed . On the post, there seems to be good solutions proposed, but I do not have enough experience to know which of them is the "best way". I posted this question to get more insight. I would understand if it is being closed. – Chewbaka Feb 18 '22 at 08:14
  • The features being separate are unfortunately the norms, the two versions will diverge step by step during time. feature toggling have been considered, but in the long run, there will be nested features, which will be hard to maintain with feature toggling. To be more precise, I would like to know if it is possible to do version control on maybe a partition of the codes were versionning is important. And do a sort of "meta" version control on the common parts without breaking everything... – Chewbaka Feb 18 '22 at 08:22
  • When you say "version", do you mean something like "Lite, Pro, Enterprise" or more like "1.0, 2.0, 3.0 and so on" ? In general, if the 2 versions are going to considerably diverge with time like 2 independent projects, you should probably consider to fork the repository. If instead, the changes between previous and next version are not so big, you may consider approaches like GitFlow (using separate version branches or tags). – marcodt89 Feb 20 '22 at 13:53
  • it is more something like "Lite, Pro, Enterprise". So as you said, forking must be the best solution. I asked around, and someone told me about using "git submodules". It is to reference another repository as a kind of library. It seems to be a good solution, but can be hard to maintain. Do you have some insight or experience about submodules ? – Chewbaka Feb 28 '22 at 17:06

0 Answers0