O que fazer "branch", "tag" e "trunk" significa em repositórios Subversion?

I'já vi essas palavras muito em torno das discussões do Subversion (e eu acho que repositório geral). Eu tenho usado SVN para meus projetos nos últimos anos, mas I'nunca entendi o conceito completo desses diretórios.

O que é que eles querem dizer?

Na SVN uma etiqueta e um ramo são realmente semelhantes.

**Tag*** = uma fatia definida no tempo, normalmente usada para liberações

Branch = também uma fatia definida no tempo que o desenvolvimento pode continuar, normalmente usada para versões maiores como 1.0, 1.5, 2.0, etc, então quando você lança a tag do ramo. Isto permite que você continue a suportar um lançamento de produção enquanto avança com as mudanças de quebra no tronco.

Trunk = espaço de trabalho de desenvolvimento, aqui é onde todo o desenvolvimento deve acontecer, e depois as mudanças fundidas de volta dos lançamentos das filiais.

Comentários (0)

Eles realmente não têm nenhum significado formal. Uma pasta é uma pasta à SVN. Eles são uma forma geralmente aceite de organizar o seu projecto.

  • O baú é onde você mantém a sua linha principal de desenvolvimento. A pasta do ramo é onde você pode criar, bem, ramos, que são difíceis de explicar em um pequeno post.

  • Um ramo é uma cópia de um subconjunto do seu projeto que você trabalha separadamente do tronco. Talvez seja para experiências que podem não ir a lugar nenhum, ou talvez seja para o próximo lançamento, que mais tarde você fundirá de volta ao tronco quando ele se tornar estável.

  • E a pasta tags é para criar cópias tagged do seu repositório, normalmente nos pontos de verificação de lançamento.

Mas como eu disse, para a SVN, uma pasta é uma pasta. "branch", "trunk" e "tag" são apenas uma convenção.

Estou a usar a palavra "copiar" liberalmente. A SVN não faz cópias completas das coisas no repositório.

Comentários (0)

O diretório tronco é o diretório com o qual você provavelmente está mais familiarizado, porque ele é usado para manter as alterações mais recentes. A sua base de código principal deve estar no trunk.

O diretório de filiais é para manter suas filiais, sejam elas quais forem.

O diretório de tags é basicamente para etiquetar um determinado conjunto de arquivos. Você faz isso para coisas como lançamentos, onde você quer que "1.0" sejam esses arquivos nestas revisões e "1.1" sejam esses arquivos nestas revisões. Você normalmente não modifica as tags uma vez que elas são feitas. Para mais informações sobre as tags, veja Capítulo 4. Branching and Merging (em Version Control with Subversion).

Comentários (0)