Como posso fazer / aplicar um patch diff a esta situação?
Pergunta
Eu tenho um projeto, por exemplo Wordpress. e eu sou uso SVN.
Eu seguintes cópias:
A. WP2.6 de wordpress.org
B. WP2.6, eu modificar alguns arquivos de núcleo (add / del / alterar o código de alguns arquivos)
C. WP2.7 de wordpress.org
Gostaria update Versão A a C e manter as alterações da versão B.
algumas das minhas alterações talvez assim:
código Versão A:
123 123
código Versão B:
123 x 123
código Versão C:
123 123 123
esperada versão final:
123 x 123 123
Como posso fazer / aplicar o patch para este projeto? mais rápido / maneira mais fácil se eu tiver 100 + arquivos diferentes
talvez eu pensar no caminho errado. por favor sugerir fazer isso direito. obrigado.
Solução
(simplista Resposta):. Não há nenhuma totalmente automático maneira de fazer isso - você vai precisar de agências e fusão, e fusão irá significar que você tem que olhar para as suas modificações, e testá-los
- Comece com (A) como / trunk, check-out em sua cópia de trabalho
- Criar um ramo "vendedor" para WP2.6
- Copy (B) para o tronco. Cuidar para svn rm e svn mv excluídos e arquivos renomeados, e comprometer-se a tronco
- Alterne a cópia de trabalho para o (A) -WP2.6 ramo
- Copy (C) neste ramo (Novamente, não se esqueça svn mv e svn rm se necessário), e comprometer
- Trocar a cópia de trabalho para o tronco
- Mesclar a partir do ramo de fornecedor WP2.6 volta para o tronco (isto é onde maior parte do trabalho thehard será)
- testá-lo em qualquer grau de confiança que você precisa antes de cometer o tronco
- Repita para futuros lançamentos
Para ilustrar o tipo de dificuldade que normalmente não pode ser resolvido automaticamente, considere isto: no seu exemplo, a esperada versão final poderia ser qualquer um destes:
123 x 123 123
123 123 x 123