none
Árvore de projetos

    Question

  • No SourceSafe eu utilizava a estrutura de cliente/projeto/versao para guardar meus documentos.

     

    Por exemplo:

     

    $/

    ---Banco

    ------Sistema de Pagamento

    ---------v1.0

    ------Sistema de Cobranca

    ---------v1.0

    ---------v1.5

    ---Banco2

    ------Sistema de Pagamento

    ---------v1.0

    ---Locadora

    ------Sistema de Locadora

    ---------v1.0

     

    No TFS essa estrutura tem de seguir um padrão diferente, pois quando você cria o Team Project, um WebSite do projeto é criado no SharePoint, são criados repositórios para os processos Agile ou CMMI, e é criado uma pasta na raíz do controlador de versão com o nome do Team Project.

     

    Que estrutura vocês estão utilizando para guardar os projetos?

     

    projeto/cliente/versao

    projeto/versao/cliente

    cliente/projeto/versao (neste caso o Team Project criado é o nome do cliente).

    Saturday, July 07, 2007 8:30 PM

Answers

  • Ravate, para responder isso você precisa primeiro identificar:

    1. Como você agrupa seu desenvolvimento - por produto (projeto) ou por cliente? Em função de qual deles (produto/cliente) você cria suas tarefas (work items)? A resposta a essa pergunta dirá ser você deve usar projeto/cliente ou cliente/projeto. Qualquer um dos dois é válido - você precisa apenas identificar qual funciona melhor para você.
    2. Já no caso das versões, elas não deveriam ficar sob o projeto. Crie branches para essa finalidade. Veja um exemplo de estrutura, no modelo cliente/projeto (tirado do seu exemplo):

    $/Banco

    ---Trunk

    ------Sistema de Pagamento

    ---------Src

    ---------Doc

    ---Branches

    ---------v1.0

    ------------Sistema de Pagamento

    ---------------Src

    ---------------Doc

    Veja, acima, que sob seu projeto é criada uma pasta Trunk, que representa o local onde é feito o desenvolvimento mais atual. Você deve fazer um branch dessa para dentro da pasta Branches\<versão>  - com isso você consegue controlar as promoções de código a partir do trunk para os branches e vice-vera.

    Tuesday, July 10, 2007 1:36 PM

All replies

  • Ravate, para responder isso você precisa primeiro identificar:

    1. Como você agrupa seu desenvolvimento - por produto (projeto) ou por cliente? Em função de qual deles (produto/cliente) você cria suas tarefas (work items)? A resposta a essa pergunta dirá ser você deve usar projeto/cliente ou cliente/projeto. Qualquer um dos dois é válido - você precisa apenas identificar qual funciona melhor para você.
    2. Já no caso das versões, elas não deveriam ficar sob o projeto. Crie branches para essa finalidade. Veja um exemplo de estrutura, no modelo cliente/projeto (tirado do seu exemplo):

    $/Banco

    ---Trunk

    ------Sistema de Pagamento

    ---------Src

    ---------Doc

    ---Branches

    ---------v1.0

    ------------Sistema de Pagamento

    ---------------Src

    ---------------Doc

    Veja, acima, que sob seu projeto é criada uma pasta Trunk, que representa o local onde é feito o desenvolvimento mais atual. Você deve fazer um branch dessa para dentro da pasta Branches\<versão>  - com isso você consegue controlar as promoções de código a partir do trunk para os branches e vice-vera.

    Tuesday, July 10, 2007 1:36 PM
  • Em meus testes, acredito ter encontrado um misto de árvore que me atendesse.

    Comecei o Team Project por cliente. Só não me agradou ter que criar o site WSS com o nome do Team Project.

    Achei que a Microsoft iria possibilidar dar manutenção manual em qualquer nível da árvore do controlador de versão e deixar escolher qual nível associar um site WSS.

    Mas estou me adaptando.

    Wednesday, July 11, 2007 5:05 PM
  • Não sei se entendi bem seu último comentário... De qualquer forma gostaria de mencionar que os artefatos do controle de versão não estão necessariamente associados a um único Team Project.

     

    Assim vc pode, por exemplo, ter Team Projects distintos que realizam manutenção em fontes armazenados na mesma sub-árvore. Ou seja, o conteúdo dos sites de projetos são, sim, disjuntos, mas os fontes a eles associados podem ter uma área de intersecção. Uma coisa não é amarrada à outra.

    Thursday, August 02, 2007 8:48 PM