|
From: | TestMan |
Subject: | Re: Import on existing repository ? / SOLUTION |
Date: | Wed, 14 Sep 2005 11:57:25 +0200 |
User-agent: | Mozilla Thunderbird 1.0 (Windows/20041206) |
Hi All, Ok, I've found a solution so let's push it to the community ;-)The key point was to use Apache Ant and create a custom ant task that is doing almost what the sync task is doing but with the following behaviour : - copy file from source to destination if source file is existing in destination (overwrite file) - add file from source to destination if source file is not existing in destination (add file) - remove file from destination if destination file is not existing in source (remove file)
- ignore CVS folders- generate a XML log on add/remove with relative path to base dir (to be compatible with CVS commands)
Then the rest of the thing was only a matter of CVS good ole commands.Another trick is to use the XML log with a XSL to generate a XML Ant sub-script that will perform the CVS add & remove operations required.
Finaly All you have to do is do a script that : 1. unzip 2. CVS checkout 3. synchronize (my custome one)4. xslt to generate the sub-ant script (containing CVS update and CVS remove)
5. call the sub-ant script 6. CVS update 7. CVS commit 8. CVS tag Hope this will helps anybody ... Regards, TM TestMan wrote:
Hi Andy,No, if a file has been removed in the new release (no more required in the "release") then import will not remove it. And as import is not pulling a consistent "status" of job done, you are not able to do a delete afterward :(Thanks anyway ... TM Andy Jones wrote:If you can do an import, then you can do a checkout and a commit, which sounds like what you need... On 08/09/05, TestMan <address@hidden> wrote:Hi all, I got the following issue : - A customer is having a centralized CVS repository. - We have to deliver new release source code trees into it (code is consistent and working). - Development team does not have access to "checkout" of the repository (so no "existing" versions or diff can be found). Hence they are working on their own repository. And I need to deliver the updated "release" into the CVS. How can I do that with CVS ? FYI, the first time an cvs import is perfectly working as expected, but second time it does not work as files that have been removed from new release or updated with a conflict are not "synced". Hence, how can i do an import on an existing repository with the following effects : - new files are added in the repositories - change in files are applied to the repository (no concurent update from the same provider possible, so what is delivered is what should be exactly pushed in the repository) - deleted files and folder are deleted in the repository - up-to-date branch is created with BUILDXXXXXX tag key I thought it was "easy" to do, but I am stuck on that since days and found no ways to do it ... so any help is welcomed ;-) Regards, TM
[Prev in Thread] | Current Thread | [Next in Thread] |