Pergunta

Estou pensando em mudar do Mercurial para SVN porque parece mais simples de manter e mais pessoas têm um cliente SVN do que um cliente Mercurial disponível.No entanto, tenho uma dúvida sobre a estrutura do arquivo -

Entendo que a estrutura típica do SVN é:

/porta-malas
..../arquivos da versão atual aqui

/filial
..../correção de bug
..../novo recurso
..../filial3
..../filialN

/marcação
..../versão 1.0
..../versão 2.0
..../versão n.n

Minha pergunta é como isso afeta vários sistemas operacionais?Atualmente, meu software possui repositórios mercuriais separados para as versões GUI/CLI do meu software para cada sistema operacional, já que você não pode apenas fazer check-out de um diretório no mercurial.No entanto, entendo que você pode fazer isso no SVN.A estrutura ficaria assim:

/Windows (ou Linux, ou qualquer outro)

/porta-malas
..../CLI
...../arquivos da versão atual aqui
..../GUI
...../arquivos da versão atual aqui

/filial
..../CLI
...../correção de bug
...../novo recurso
...../filial3
...../filialN
..../GUI
...../correção de bug
...../novo recurso
...../filial3
...../filialN

/marcação
..../CLI
...../versão 1.0
...../versão 2.0
...../versão n.n
..../GUI
...../versão 1.0
...../versão 2.0
...../versão n.n

Ou estou tornando isso muito complicado?Você recomendaria armazenar a versão da GUI em um repositório separado?Além disso, em quais desses diretórios típicos estão armazenados os executáveis ​​​​pré-compilados?

Entendo que essas perguntas podem parecer iniciantes, mas a verdade é que sou completamente novo no SVN.Obrigado pela ajuda!

Foi útil?

Solução

Eu uso SVN há apenas 3 ou 4 anos e o que você tem parece muito bom para mim, eu não armazenaria a versão GUI em um repositório separado.No meu trabalho temos todos os nossos projetos em um único repositório, apenas pastas diferentes e isso funciona porque como você afirmou você pode conferir as pastas que quiser.

Além disso, existem algumas pessoas por aí que argumentam que você não deve armazenar dados binários (como executáveis ​​​​pré-compilados) em um repositório SVN simplesmente porque isso irá inchar o repositório, pois não pode ser diferenciado da versão anterior, como o texto.Esta é mais ou menos a política não escrita no meu trabalho.Em casa, no meu SVN pessoal, verificarei executáveis ​​importantes ou arquivos de biblioteca que sei que não serão alterados regularmente, apenas para que estejam lá quando eu precisar deles.Não estou preocupado com o inchaço, e ser capaz de voltar atrás na outra versão do exe às vezes é muito legal para ver a progressão.

No que diz respeito a ramificações e tags, nunca as usei.Eu sei que provavelmente deveria, mas a maioria dos meus projetos são 'prova de conceito' de qualquer maneira e, portanto, meu tronco principal é tudo o que eu construo.Eu basicamente uso o SVN como uma ferramenta muito boa de backup e linha do tempo.Mas provavelmente deveria começar a usar tags e ramificações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top