Oracle BI EE 10.1.3.3/2 – Merging Repositories

Update: Based on the comments below, i have created a new blog post which would work in all the scenarios. You can find it here. 
One of the features of BI EE is that one can merge repositories.So if you have 2 repositories each having its own set of Physical, BM and Presentation layers then you can use the Merge option to merge both of them into a single repository. Before going ahead, lets try to understand 3 important terms that would be used while merging. The definitions are specific to the example that we would be seeing later. But this should give you an idea.
      Current Repository   -   This is the repository that you would be merging the changes into. This is the repository that would be open while merging.
      Original Repository   -   This is the repository which is the pivot for Merge. This is just a dummy repository ( for our discussion alone. This is generally used in BI Applications when you are merging objects from an older repository)
      Modified Repository   -   This is the repository whose objects you would like to copy to the Current Repository.
What merging would do is, it would merge the difference of the repository objects that you would find between Original and the Current Repository and also the Original and the Modified Repository. Lets try to understand this with a simple example. In our example, we will be using 2 repositories. One is the default Paint Repository and the other is the Usage Tracking repository that is bundled along with BI EE. Our aim is to get the contents of the Usage Tracking Repository into the Paint repository. Lets look at the contents of both the repositories. Paint.rpd would be located under {OracleBI}/Server/Repository and the Usage Tracking.rpd would be located under {OracleBI}/Server/Samples/usagetracking
      
      
Now lets click on Merge under the File menu (assuming you already have the paint.rpd opened in offline mode). As soon as you click on Merge, you would get a dialog box asking you to choose the Original Repository. In our case, we would have to choose a dummy repository(copy the paint repository to create a new one and then include that here). Enter the password for the dummy repository and click ok. As soon as you enter that you would get a message like the one below that the repositories are identical.
      
Once this is done select the modified repository. In our case select the usagetracking.rpd and then click on merge.
      
Now you would see that the usagetracking repository objects have been merged into the paint.rpd. The Original dummy repository acts as a pivot. What BI EE basically does is that it first finds the difference between the dummy and the Current Repository. It would not find any since both are copies of each other. As soon as we include the modified repository(usage tracking), the merge operation would find the differences between the original and the modified(paintdummy and usagetracking) and then merge the differences into paint repository and would produce a new repository.
This can be very useful in quite a lot of scenarios. I have just used a simple example here. But this should give you an idea.