Reputation: 3383
I believe I have a very common problem that affects developers with multiple versions of their apps (in my case I have two: paid one and a free one). To manage both versions I use the same git project with 2 different branches: free and paid However my source code package names differ from each other (as expected), and with the java restrictions of having the directory names mapping to package names a problem arises: how to tell git to associate the files under a certain directory with each branch ?
Let me give you an example: I've two branches:
In master my source code is under com.zemariamm, however in the "free" branch the source code is under "com.zemariamm.free", how can I configure git to "tell him" that the source code under directory com.zemariamm (in branch master) maps to the source code under directory com.zemariamm.free (in branch free) ?
Thanks so much in advance, Ze
Upvotes: 5
Views: 1678
Reputation: 97591
Why not put just put both the free and paid code in one project, rather than using two projects?
Upvotes: 0
Reputation: 1324577
In theory, you wouldn't configure anything in Git:
If the content of com.zemariamm.free.MyClass
is very similar to com.zemariamm.MyClass
, Git should be able to link the history of the MyClass
file between the two directories in the two different branches.
In particular, a merge from free
to master
should report new evolutions (lines added, modified or removed to MyClass
) from the com.zemariamm.free.MyClass
to the com.zemariamm.MyClass
.
That only works if MyClass
is "similar enough between the two branches though:
see "How does Git track history during a refactoring ?"
Upvotes: 2