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
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 ?"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With