Vamos a ver sus argumentos:
- yo soy el desarrollador de este proyecto en solitario.
- Es solo un prototipo, tal vez tendré que volver a escribir desde cero.
- No quiero contaminar el Source Control con versiones incompletas.
Primero, el 3er.Puedo ver el razonamiento, pero está basado en una mala suposición.
En el trabajo, utilizamos Perforce, un VCS centralizado, y de hecho solo revisamos el origen que compila con éxito y no rompe nada (¡en teoría, por supuesto!), Después de la revisión por pares.
Así que cuando empiezo un cambio no trivial, siento la necesidad de compromisos intermedios. Por ejemplo, recientemente comencé a hacer algunos cambios (de alguna manera, en solitario para esta tarea en particular, por lo que me dirijo al punto 1) en un código Java usando JDom (análisis XML). Luego me quedé atrapado y quería utilizar el análisis XML integrado de Java 1.6. Era obviamente el momento de mantener un rastro del trabajo actual, en caso de que mi intento fracasara y quisiera regresar. Tenga en cuenta que este caso de alguna manera aborda el punto 2.
La solución que elegí es simple: ¡utilizo un SCM alternativo! Aunque algunos VCS centralizados como SVN se pueden utilizar en local (en la computadora del desarrollador), fui seducido por el VCS distribuido y después de probar brevemente Mercurial (que es bueno), encontré que Bazaar se adecuaba mejor a mis necesidades y mi gusto.
Los DVCS son adecuados para esta tarea porque son livianos, flexibles, permiten ramificaciones alternativas, no "contaminan" el directorio de origen (todos los datos están en un directorio en la raíz del proyecto), etc.
Haciendo una administración de fuente paralela, no contaminará la fuente de otros desarrolladores, mientras mantiene la posibilidad de volver atrás o probar rápidamente soluciones alternativas.
Al final, al comprometer la versión final con el SCM oficial, el resultado es el mismo, pero con mayor seguridad en el nivel del desarrollador.
Hay un tercer grupo, quizás no bien representado en su organización: los que controlan el trabajo incremental cuando pasan todas las pruebas. –
Y un cuarto. Me registro cada vez que puedo porque es posible que necesite volver a eso y cualquiera que obtenga su código roto necesita para salir de mi sucursal :-) –
@Neil tal vez GIT podría resolver su problema –