Status no StarTeam

Entendendo o significado dos status utilizados pelo StarTeam

Neste artigo veremos como funciona os status disponíveis no Borland StarTeam para o controle de versão de arquivos. A partir do BDS 2005 a Borland passou a disponibilizar o StarTeam Standard o qual permite realizarmos o controle de versão e gerenciarmos as solicitações de mudança de nossos aplicativos Delphi.

O StarTeam utiliza 7 tipos de status para gerenciar o estado de cada arquivo dentro do repositório: Current, Out of Date, Missing, Not in View, Modified, Merge e Unknown. A seguir abordaremos cada um desses status.

Status "Current"

A última versão do arquivo está em seu working folder (tip revision). Este Status indica que a versão do arquivo que está em sua máquina local é a última versão deste arquivo que se encontra no servidor do StarTeam. Em poucas palavras, o arquivo da máquina cliente é o mesmo do servidor em sua versão corrente. Veja a Figura 1.

 

 

Figura 1. Demonstração do Status “Current” do arquivo untFuncoes.pas.

Nota: Working folder é a pasta local em sua máquina onde o StarTeam copia os arquivos do servidor durante operações de Check-out.

Status “Out of Date”

A cópia do arquivo que está em seu working folder é uma revisão antiga deste arquivo. Existe uma versão mais nova no repositório do StarTeam. Se você precisar da última versão do arquivo realize Check Out do mesmo.

Este status ocorre quando realizamos uma operação de Check Out a partir da lista de revisões do arquivo disponíveis na aba History que não seja a última versão do mesmo ou quando um usuário realiza uma alteração no arquivo e através da operação de Check In cria uma nova revisão do mesmo no servidor. Veja a Figura 2.

 

 

Figura 2. Demonstração do Status “Out of Date” do arquivo untFuncoes.pas.                                

Status “Missing”

O arquivo existe no repositório do StarTeam, porém não há uma cópia do mesmo em seu working folder. Para copiar o arquivo para dentro do seu working folder realize Check Out deste arquivo.

Está situação ocorre, por exemplo, quando um usuário do projeto cria um novo arquivo em seu working folder e realiza um Add Files do mesmo. Neste momento o novo arquivo passa a ficar disponível para os demais usuários do projeto definido com o status Missing. Veja a Figura 3.

 

 

Figura 3. Demonstração do Status “Missing” do arquivo untFuncoes.pas.

Status “Not in View”

O arquivo existe em seu working folder mas não existe no repositório do StarTeam. Você precisa adicionar este arquivo ao StarTeam através da opção Add Files. Arquivos definidos com o status Not in View dentro do working folder não são gerenciados pelo StarTeam.

Arquivos no status Not in View não estão disponíveis para os outros usuários do projeto visto que o mesmo só existe em seu working folder e não há uma cópia no repositório do StarTeam. Veja a Figura 4.

 

 

Figura 4. Demonstração do Status “Not in View” do arquivo untFuncoes.pas.

Obs: Caso você não precise utilizar e/ou versionar este arquivo você pode apenas apagá-lo de seu working folder.         

Status “Modified”

O arquivo em seu working folder foi alterado e está baseado na última versão deste arquivo no servidor. Você precisa realizar um Check In deste arquivo para criar uma nova revisão do mesmo dentro do StarTeam.

Este status sempre vai ocorrer quando uma operação de Check Out da última versão de um arquivo for realizada e o arquivo for modificado pelo usuário dentro do seu working folder. Veja a Figura 5.

 

 

Figura 5. Demonstração do Status “Modified” do arquivo untFuncoes.pas.

Status “Merge”

O arquivo em seu working folder foi alterado mas não está baseado na última versão deste arquivo no servidor. Isto normalmente acontece quando uma segunda pessoa faz uma alteração no mesmo arquivo e realiza Check In do mesmo antes do que você.

Quando você tenta realizar um Check In deste arquivo, se o arquivo for do tipo “texto”, o Visual Merge pode ajudá-lo a conciliar as diferenças entre sua versão (que está no working folder) e a versão atual do arquivo. Para auxiliar no desenvolvimento em paralelo, onde mais de um usuário pode mexer no mesmo arquivo ao mesmo tempo, é aconselhável o uso do lock Non-exclusive o qual permite a identificação dos usuários que estão trabalhando em cada arquivo dentro do projeto. Veja a Figura 6.

 

 

Figura 6. Demonstração do Status “Merge” do arquivo untFuncoes.pas.

Obs: Para evitar o Status de Merge utilize sempre a opção de Lock Exclusivo ao realizar operações de Check Out para alterar o arquivo.

Status “Unknown”

O arquivo em seu working folder possui o mesmo nome do arquivo no repositório, porém o mesmo não foi copiado através de uma operação de Check Out. Você provavelmente copiou o arquivo de outro diretório. Utilize a opção “Update Status” para determinar o status correto do arquivo.

Caso a opção “Update Status” não consiga recuperar o status do arquivo o procedimento proposto é que seja realizada uma operação de Check Out da última versão do arquivo para um diretório local qualquer da máquina que não faça parte da estrutura de pastas do working folder do projeto e que seja realizada uma comparação manual entre os dois arquivos para determinar qual operação deve ser realizada para “concertar” o status do arquivo. Veja a Figura 7.

         

 

Figura 7. Demonstração do Status “Unknown” do arquivo untFuncoes.pas.

Conclusão

Neste artigos abordamos uma pequena descrição dos status suportados pelo StarTeam para realizar o controle de versão de arquivos. Para obter maiores informações sobre os status do StarTeam leia o capítulo 8 (Managing Files) do StarTeam User's Guide o qual acompanha a instalação do StarTeam Client.Um abraço e até a próxima.