سؤال

I was wondering if someone could offer some advice on how to manage our SVN trunk and branches so that my team can deploy to three distinct environments? Currently we have the following setup:

  • 1. All new development is done against the trunk. This is considered our "DEV" branch.
  • 2. We have a SVN branch called "QA" that we merge changes from the truck in order to trigger a CCNet build to our QA environment.
  • 3. We then have a branch called "PROD" that we merge changes from the trunk in order to trigger a CCNet build to create our PROD deployment packages.

So far this works in regard to triggering builds and allowing some level of code separation between our environments, but it "feels" like it is not ideal. The biggest reason that I say this is that I would expect to be able to merge from our QA branch to our PROD branch. But, every time we attempt to do this, we get "tree conflicts". So, for now we have just been merging from the truck.

Can anyone recommend an SVN trunk / branch strategy that works well with multiple deployments environments?

Thanks!

هل كانت مفيدة؟

المحلول

To answer the question in the title: yes. it is possible to merge from branch to branch in svn.

However to your secondary question, I'd recommend that you don't deploy to dev, qa and prod from different branches. I'd recommend that you build once, and deploy to dev, then qa and then to prod - without merging and rebuilding. You want to deploy what you tested, not something tested and then changed.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top