The question in short form and then the explanation We want to create 
patches and include only files which have changed in the build due to some 
bugfixes for a dotnet application. The patches should get automatically 
built in the Continuous Integration process involving SVN, 
Cruisecontrol.net and msbuild.

We have a scenario here: We want to maintain a .net application which runs 
on remote servers using continuous integration. The source code is in a SVN 
and has 3 different repositories for DEV, QA and PROD. Our developers do 
new bug fixes almost everyday and merge the changes into the dev repository 
after their initial testing and satisfaction. The code after a certain 
problem is solved or a feature has been added is then merged into the QA 
repository. The QA code is built and tested on QA machines manually. After 
the QA testing we merge it into PROD. With it the QA also makes new patches 
for the files which have to be replaced or changed manually. Then the 
patches are deployed on a staging server. On which it is tested until 
perfect and then the patches are deployed on actual remote servers.

In search of continuous integration we are now trying to use a mix of 
CruiseControl.net and msbuild to do the process. *The process is good until 
the stage where we have to generate patches from the QA builds automatically
*. After the patches are generated we will put them on a ftp server and 
from their they will be downloaded to the staging server to be tested. The 
problem i.e. the generation of patches from the new build has a few 
aspects. The solution file for the application has many projects and the 
dlls are copied using postbuild events to the startup app bin folder. So we 
have a specific directory structure in the actual application which itself 
is a combination of 6 solutions which are more or less independent of each 
other.

The way we are trying to create the patches is we are searching the logs of 
svn to find which files have changed. Then we are parsing it finding the 
project name. Then we are copying all the files from the bin directory of 
that project to the patch folder in the specific manner in which the 
release has them by using a mapping file which has all the files of the 
application in it.

So can anyone please suggest a much better or easier way to make a patch 
provided we have svn and the cruisecontrol.net. Or any other opensource 
tool to do that.

hope the problem is clear

Reply via email to