Right now I have a software project in a single local git repository that I 
can build in two variants:

- Basic
- Extended

The Extended is "more" than the Basic, so there are files in Extended that 
are not in Basic. But of course there are also some files that are 
different for the two versions, like having less "includes" for the Basic 
version etc. All this I manage right now with a variable: 
"EXTENDED_VARIANT" switches everywhere to that version, and if it is not 
set the "Basic" will be built.

With this I can manage one single code base for the two variants of the 
software. So far so good.

But now I want to make the "Basic" version "Open Source", but keep the 
"Extended" version for paying customers only. And this means I should 
somehow split the repository in two:

- an Open Source repository with public access for the "Basic" variant
- some kind of "extension repository" that I keep local or in a protected 
location

To some degree I could manage the two variants with a permanent branch 
where I "merge" from time to time the "basic" branch into the "extended". 
However I am afraid that this will permanently generate conflicts in some 
files that are not really conflicts. And both branches will probably have 
to reside in the same repository.

I can also have a project that brings together two different repositories - 
basic and extended - from two different sources. But then I am getting 
problems with the files that need to be different in the one and the other 
variant: I would have to keep two versions of these files next to each 
other synchronized - not what you really want if you have git.

The problem is that I am still relatively new to git, so there might be 
options that I am not aware of!

If this is the case I would be very glad if somebody could give me a hint.

Otherwise, if what I want is impossible with git, I would also like to 
learn.

So many thanks for helpful remarks and hints in any case!

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to