5

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:

  1. master
  2. free

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

2
  • Can't you just share all the common code libraries, rather than having duplicates in the free and paid packages? Commented Mar 6, 2011 at 19:01
  • What do you mean? Having two different projects using parts of the source code ? Cheers :) Commented Mar 7, 2011 at 19:22

2 Answers 2

2

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 ?"

Sign up to request clarification or add additional context in comments.

Comments

0

Why not put just put both the free and paid code in one project, rather than using two projects?

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.