viernes, 24 de julio de 2015

SVN: Ancestrally problem or How to copy branch to trunk


Cómo solucionar el problema de tratar de generar el trunk cuando se partó a trabajar en una rama directamente y no desde el trunk.

PROBLEMA:


Se intenta mergear desde una rama (el código del proyecto está en una rama) cuando el trunk está vacío y el proyectos se creó desde la rama y no desde el trunk.

svn merge ^/branches/MyBranch/ --reintegrate
svn: 'https://svn.example.com/repos/MyRepo/branches/MyBranch@92' must be ancestrally related to 'https://svn.dev.example.com/repos/MyRepo/trunk@92'
dario.palminio@exampleglb-l1077:~/Workspace/reissuePrice_trunk$ svn merge ^/branches/MyBranch/
--- Merging r11 through r92 into '.':
   C doc
   C src
   C pom.xml
 U   .
Summary of conflicts:
  Tree conflicts: 3
dario.palminio@exampleglb-l1077:~/Workspace/reissuePrice_trunk$ ll


SOLUCIÓN:


Una solución es regenerar el trunk (que actualmente está vacío):

svn delete -m 'Borra el trunk para regenerarlo' https://svn.example.com/repos/MyRepo/trunk

svn copy -m 'Genera el trunk copiando desde el branche 1260' https://svn.example.com/repos/MyRepo/MyBranch https://svn.example.com/repos/MyRepo/trunk

Esto debería funcionar, pero si tira un error como el que sigue:
...svn: Path 'https://svn.example.com/repos/MyRepo/MyBranch' does not exist in revision 93

Se puede probar copiar la copia local al trunk (regenerándolo):

svn copy . https://svn.example.com/repos/MyRepo/trunk



domingo, 5 de julio de 2015

SCRUM: Agile viewpoint

En SCRUM desde el punto de vista de la agilidad, entre otras cosas, tenemos en cuenta lo siguiente:

"
1) Evitamos el BDUF (Big Design Up Front) porque asumimos que el contexto es cambiante. Por lo tanto, al anticiparnos mucho, generamos desperdicio de trabajo y re-trabajo por tener supuestos equivocados.

2) Damos prioridades a los ítems del Backlog porque sabemos que gran parte de todos las características de un producto terminan utilizándose poco o nada.

3) Refinamos y destilamos el Backlog constantemente para hacer frente a los cambios de contexto y necesidades de nuestros clientes.

4) Tenemos revisiones frecuentes para minimizar el stock de requerimientos sin validar.

5) Ponemos el foco en maximizar el retorno de la inversión y no solo en la reducción de costos.

6) Buscamos maximizar el flujo de trabajo, aunque debamos reducir la cantidad de trabajo en progreso., porque sabemos que así mejoramos el ritmo y el time-to-market o lead/cycle time.

" (Martín Alaimo, 2015)