version control - How to setup SVN repo for emergency fixes? -


being developer number of years should know don't.

i working on released product on small team. main developer committing of code there couple other developers commit time time. currently, have staging server running hudson ci builds after every commit. production updated manually simple svn command when trunk stable , tested.

this has worked fine except have situations requiring emergency/urgent changes production when code not finalized in trunk.

how can setup repo accommodate situation? thought this response reply still little on head.

i thinking, when updating production, create branch @ revision. however, if need make urgent production fixes, how access branch , how can update production pulling branch , not trunk? how make sure urgent fixes production branch committed trunk?

ie. situation want have better solution because has occurred few times

  • rev 1000 updated on production
  • rev 1001-1005 new feature requests/bug fixes included in next version
  • rev 1006 urgent fix needs pushed production
  • rev 1007-1009 more feature updates
  • rev 1010 should next revision updated production

update:

after reading through branching section of svn book, thinking following setup.

  1. create branch when ready push prod

    svn copy /trunk /branches/production_01 -m 'production release'

  2. on production, switch production branch

    svn switch /branches/production_01

  3. if urgent fix needed, developer needs make changes in branch:

    svn checkout /branches/production_01
    // make changes
    svn merge /trunk # make sure changes merged trunk well
    svn commit -m 'urgent fix

  4. on production, update latest branch

    svn update

does process sound work our setup?

there different ways of tackling problem, think efficient way have seen done following:

  • all devs go branches, bug fixes or new features. these branches under ci, , deployed in own environment testing.
  • code go production merged trunk branch (either bug fix branch, or feature branch). trunk under ci. once tested approved, can move pre-prod, , prod. code trunk released production.

so code goes trunk merge branch; way, trunk contains code released, , don't have make awkward code rollback or branching revision.

the drawback need different ci environments, different app server domains each branch, plus trunk , pre-prod.


Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -