Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

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

share|improve this answer

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

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

Your Answer


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.