Temos um produto que possui algumas edições diferentes. As diferenças são mínimas: cadeias diferentes aqui e ali, muito pouca lógica adicional em uma, muito pouca diferença na lógica na outra. Quando o software está sendo desenvolvido, a maioria das alterações precisa ser adicionada a cada edição; no entanto, existem alguns que não o fazem e outros que precisam diferir. É um uso válido de ramificações se eu tiver ramificações release-editionA e release-editionB (..etc)? Existem truques? Boas práticas?
Atualização: Obrigado pela compreensão de todos, muitas boas respostas aqui. O consenso geral parece ser que é uma má idéia usar ramificações para esse fim. Para quem se pergunta, minha solução final para o problema é externalizar seqüências de caracteres como configuração e externalizar a lógica diferente como plugins ou scripts.