Search code examples
svncontinuous-integrationnant

SVN [use-commit-times property] & NAnt: copying changesets to a production environment


I've currently set up CC.Net to check out code, and partly propagate the changes to a live environment.

My current build process is detailed below:

  1. clean build area
  2. copy source - ASP scripts - to build area
  3. run tests
  4. copy code to beta environment
  5. copy code to Live environment

I initially intended using the NAnt copy task to update my production site ie Step 4 - 5. However I realize, with checked-out code, the Date Modified attributes of files is the checkout time. Hence a NAnt copy to live production site would copy all files across, whether or not the soure changed, which isn't ideal.

I'd like to learn about different approaches to consider when setting up copy tasks to a live environment? For a major realease I wouldn't mind the NAnt copy task, but for a simple bug fix, I think perhaps the Copy task might not be ideal.

I'm not sure if running a NAnt task + a differencing tool would be the way to go.

cheers.

I've reckon this link - "use-commit-times" sub-section under the "Config" section- should address the core of my earlier query. If I can retain original file time-stamps, when checking out the source code, then the NAnt Copy task should work in my scenario


Solution

  • The "use-commit-times" svn property, coupled with the NAnt Copy task is my solution for now.