Estoy trabajando en un proyecto que está usando código de un proyecto OpenSource. Uno de los requisitos es empujar la mayor cantidad de código posible hacia arriba.Trabajando en sincronización con SVN upstream
El proyecto remoto está utilizando Subversion (no muy bien).
Mi configuración actual es el siguiente:
[Remote SVN] (git svn fetch)-> [My public Git] <-(push/pull)-> [My dev. Git]
VV
(pull)
VV
[Testing grid]
EDITAR 11.7. - reformulé la pregunta
Mi problema es la coexistencia de mi repos public local y el svn upstream.
tengo que proporcionar 3 ramas públicas:
- conservadora estable
- experimental estable de desarrollo
Estas ramas son ahora lineal (desarrollo se convierte experimental estable y experimental se vuelve conservadora) , pero el objetivo es un enfoque estándar de 3 cabezas con fusión. Debido a su naturaleza pública, no puedo volver a clasificar estas ramas.
Ahora, de forma totalmente ortogonal a esto, estoy intentando de alguna manera facilitar el envío de parches al flujo ascendente. Sacarlos de mis ramas es lento y propenso a errores.
Mi flujo de trabajo actual típico es:
- implementar alguna característica en la rama de desarrollo superior
- prueba & función Fijar
- prueba & fijar otras características rotas por esta nueva función (que realmente sucede mucho)
- determinar si esto es algo que podría aceptarse en la fase inicial o no (30:60 sí: no)
- hacer algo al respecto (yo simplemente escribe una nueva TODO)
Otro problema con el upstream es que aceptan parches en diferentes ramas (mis ramas públicas se basan en su rama estable). Una vez que los parches alcanzan la rama estable, simplemente puedo olvidar que existen, pero hasta que eso ocurra, necesito mantenerlos localmente.
su tarea es similar a esta http://hgbook.red-bean.com/read/advanced-uses-of-mercurial-queues.html. Resuelto con la pila de parches gestionada por "Mercurial Queues". No sé si hay tal utilidad para git – Alsk
@Alsk Esto de hecho parece similar. Gracias por el consejo. –