locked
Árvore de projetos RRS feed

  • Pergunta

  • 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).

    sábado, 7 de julho de 2007 20:30

Respostas

  • 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.

    terça-feira, 10 de julho de 2007 13:36

Todas as Respostas

  • 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.

    terça-feira, 10 de julho de 2007 13:36
  • 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.

    quarta-feira, 11 de julho de 2007 17:05
  • 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.

    quinta-feira, 2 de agosto de 2007 20:48