Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-09-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
De forks y versiones

No había puesto atención a la importancia del control de versiones hasta que me topé con un cliente que de la noche a la mañana se reactivó pidiendo muchas cosas en poco tiempo respecto a un sistema desarrollado para él.

Nos encontramos digamos en la version 1.0 que se liberó y cobró y todo.

Posteriormente nos habla y requiere que se haga un cambio x en el sistema por lo que se empieza a trabajar en la version 1.1.

Durante el desarrollo, digamos a la mitad, nos dice que ahora también requiere otra funcionalidad no relacionada con la que se está desarrollando. (Aquí surge el primero "fork") Nombramos a esta version 1.1.1 y otro programador comienza a trabajar en ella.

Y así sucesivamente hasta que ya estamos trabajando con 4 forks distintos y algunos de ellos ya empiezan a tocar código común por lo que hacer un "merge" o juntarlos se esta volviendo una pesadilla ya que lo que funciona en una version que consolida 2 forks no funciona con otra que une 3 y bueno...

Se le explicó al cliente que de oportunidad a terminar al menos las funcionalidades que se pueden juntar sin perjucio de las otras pero quiere ver todas las variantes juntas. Se le ha explicado que muchas reglas de negocio que él mismo cambió afectan el desarollo de lo que ya se llevaba avanzado pero obviamente el cliente no tiene porque entender como se hace el desarollo, nos pago por resultados.

Hoy día ya logramos juntar algunas variantes y nos quedamos con 2 "forks" (perdón por el anglicismo pero no encuento algo más descriptivo en español) sin embargo son mutuamente excluyentes, lo que funciona en uno, no funciona en el otro. Algunas veces lo hemos resuelto terminando el "fork" mas antiguo y luego pasando los archivos modificados al proyecto del "fork" mas nuevo, pero es tedioso y nada amigable.

Hace unos días leía algo sobre el tema, pero quise comentarlo aquí a ver que opinan, seguramente a alguien más le ha pasado.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #2  
Antiguo 29-09-2012
cancun cancun is offline
Miembro
 
Registrado: may 2003
Ubicación: Cancun, México
Posts: 114
Poder: 21
cancun Va por buen camino
Hola

Efectivamente es un problema cuando realizas un desarrollo para varios clientes con necesidades diferentes, yo he optado (un sistema de punto de venta) por hacerlo configurable, lo que me pide un cliente pero se que a otro no le sirve e incluso le estorbaría, hago que se oculte para los demas si no es activado en la configuración.

Esto me funcionó hasta que un cliente me pidio demasiados cambios y cosas nuevas y opté por manejar una versión para este cliente.

He visto algo por ahí respecto al control de versiones pero no se como funciona, tal vez sea algo que me sirva si entiendo como funciona, espero algun compañero nos de alguna luz.


Saludos
__________________
Cancun, Q.Roo, México
Responder Con Cita
  #3  
Antiguo 29-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Muchas es mejor tener módulos distintos y que se puedan activar/desactivar según el cliente.
Porque llevar distintas versiones de un programa para distintos clientes es engorroso cuando tenemos un programa para todos, hay que estar controlando que no afecte lo de uno con el del otro, lo que te ha pasado.
De todas formas, dependiendo de lo que sea, también es muy válido un control de versiones y 'forks'.
Yo prefiero hacer el proprama configurable y hacer uso de unas tablas u otras mediante un módulo u otro.
Responder Con Cita
  #4  
Antiguo 30-09-2012
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Esta historia se me hace muy conocida... lo mismo (o algo mas o menos similar) me pasaba hasta que me topé con los DVCS.

Mucho tiempo antes intenté utilizar VCS como Subversión o CVS, pero quizá mi poca experiencia y desconocimiento hicieron que terminara odiándolos (y lo sigo haciendo a día de hoy).

Cuando empecé a usar Mercurial todo fue diferente, mas simple, sencillo pero con igual o mayor funcionalidad... luego conocí git y bazaar, este último no es de mi total agrado, sin embargo, me toca usarlo a diario.

Aun siendo un desarrollo individual es de mucha ayuda el uso de un DVCS ya que queda la bitácora de todo lo que hemos hecho... créanme, son de mucha utilidad .

Para muestra, un botón.


Saludos
Responder Con Cita
  #5  
Antiguo 01-10-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
He revisado un poco eso del mercurial y como que no le hallo. Me de la impresión de que termina uno con una infinidad de posibles caminos no lineales sin tener mucha idea de qué hacer con todos ellos.

Claro que es una visión desde la ignorncia, pero es la impresión que me da.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Versiones de Delphi woody Varios 7 22-02-2016 00:19:34
Sobre versiones ixMike Varios 4 27-05-2008 12:22:02
Control de Versiones JorgeBec Varios 1 27-01-2005 04:49:45
Administracion de Versiones JorgeBec Varios 2 10-09-2004 11:28:32
Control de Versiones cone220 Varios 1 20-01-2004 19:58:01


La franja horaria es GMT +2. Ahora son las 10:48:42.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi