¿Cómo manejo el control de versiones para una aplicación web?

Cómo lograr un buen sistema de control de versiones, uso SVN para actualizar un código y hacer que se sienten en el enlace troncal. Mi jefe siempre pregunta una característica nueva y antes de que se complete una característica, solicita otra característica en el mismo module. ¿Cómo manejo Branching en esta situación?

Nota :
Publiqué esta Pregunta en programmers.stackexchange.com pero alguien cerró está dando una razón. La pregunta debe ser subjetiva. Así que estoy publicando aquí.

Un "buen sistema de control de versiones" depende de los desarrolladores que contribuyan a él y del sistema de control de versiones que use. El tronco principal (twig principal) contiene solo código estable. Si detecta problemas o trabaja en funciones nuevas, cree una twig para ellos. También desea mantener el otro código lo más cerca posible del tronco -> por lo tanto, actualice las twigs con frecuencia, para que se tengan en count las nuevas correcciones al tronco. Cuando el código de su sucursal funciona, fusione los cambios al tronco.

Eche un vistazo a esto: http://betterexplained.com/articles/a-visual-guide-to-version-control/ para una buena introducción.