I am wondering if there is an easy way to combine between branches of the same Android project, where the package name (and therefore the directory names) are different. Since I will have many branches and they all need to be updated, I look at the best way to efficiently execute these merges.
The directory tree of our Android project is as follows
\assets \libs\... \res\... \src\com\mycompany\mainproject AndroidManifest.xml build.xml myproject.iml myproject.ipr
When we create an individual version for the client, I would change the name of the package, for example client1app or client2app. You need different package names if they exist on the Android Market as different applications for different clients. Therefore, I create separate branches that contain the same file names and directory structure, with the exception of the src folder name, which must be changed so that it matches the package name. Thus, client1app or client2app will have the following directory structure:
\src\com\mycompany\client1app \src\com\mycompany\client2app
The file names in these folders are still identical to mainproject. It is just that the directory name is different. (The contents of the file are basically identical, with the exception of the package proposal.)
We use SVN for version control. Therefore, when I merge the scoop from mainproject into client1app, I think I first need to combine the top-level files and other directories, and then manually merge for src \ com \ mycompany \ mainproject for src \ com \ mycompany \ client1app. These are five different merges (for the top level and four subdirectories). If the directory names were not different, it would be a simple one-step merge, and I know how to do it.
Question 1: Is it possible to configure SVN so that \ src \ com \ mycompany \ mainproject and \ src \ com \ mycompany \ client1app contain the same file names when merging? Or in some other way, the scoop merges easily between two branches?
Question 2: Will Git be better suited for this?