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