Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

We have the following scenario:

Changeset #1 is some unfinished buildable checkin
Changeset #2 is a completed small task
..
Changset #5 completes the work done at CS#1

They all affect the same output dll.

How do we deploy changes done at CS#2 without the other work? Also how can we avoid this situation happening again in the future?

share|improve this question
add comment

3 Answers

We (using SVN) usually solve this by using feature branches. This enables larger features to be only merged to the mainline after they are finished. A great article about different strategies is here http://blogs.msdn.com/b/willy-peter_schaub/archive/2009/02/12/vsts-ranger-projects-branching-guidance-ii.aspx

share|improve this answer
add comment

I think that in that case you should try to "disable" your #1 changeset.

let's say if it is a new feature, don't make any way to make this code run in the application.

if it is a replacement of an existing code, write it while the old code is in use, and enable it when it is done

share|improve this answer
add comment

Use a feature branch or a shelveset. Both will allow you to store the work in progress on the server and run a Team Build. A feature branch is a bit more heavyweight but can also be more flexible.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.