We are using Clearcase and we migrate our big project to Maven. We are facing a problem when doing inter project deliveries.
We have a development CC project where most development occurs. We have pom.xml
that holds versions of our dependencies to our own sub-projects (these versions are maven/pom version).
At some point, we deliver code in production. So we create another CC project. So now we have our main CC project (MAIN
) and a new one base on it that holds production code (PROD
).
The PROD
CC project has a fix ve开发者_如何转开发rsion (in the pom.xml
). For example 1.1.0. The MAIN branch continue to evolve (version 1.2.0, 1.3.0, ...). So the "same" pom.xml
in both files are different.
The problem occurs when we want to provide a patch (or a feature) in production: we modify the PROD
CC project and we ship it in production (with an updated version: 1.1.1). Then we want to do an inter project delivery from PROD
to MAIN
, to avoid writing the code twice. When we do so, the pom.xml
file from DEV
got overridden with those from PROD with older version dependencies and artifact versions.
We tried to use profiles and environment variable to solve this, but with no success. If anyone when through this issues and found a clever solution ?
Thanks for your help,
-Martin
The problem comes from the automatic merge done during the UCM inter-project deliver.
One solution would be to:
- checkout/checking the pom.xml file in the destination stream first,
- then perform the deliver which would trigger a non-trivial merge on that file, allowing you to restore the destination file (i.e. not taking the source version, with the PROD label references)
精彩评论