Usuário com melhor resposta
Árvore de projetos

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:
- 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ê.
- 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:
- 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ê.
- 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