Enquanto você estiver trabalhando na sua cópia de trabalho você frequentemente precisa saber quais arquivos foram alterados/adicionados/removidos ou renomeados, ou ainda quais arquivos foram alterados por outros.
Agora que você obteve uma cópia de trabalho do repositório Subversion você pode ver seus arquivos no windows explorer com ícones modificados. Esta é uma das razões para que o TortoiseSVN seja tão popular. O TortoiseSVN adiciona um ícone de revestimento sobre o ícone de cada arquivo. Dependendo do status do arquivo no Subversion o revestimento é diferente.
Uma cópia de trabalho recém obtida possui uma camada contendo uma marca verde. Isto significa que o estado é normal.
Assim que você começar a editar um arquivo, o estado muda para modificado e a camada de revestimento então muda para um ponto de exclamação vermelho. Dessa maneira você pode facilmente ver quais arquivos foram alterados desde que você atualizou sua cópia de trabalho e que precisam ser submetidos.
Se durante uma atualização ocorrer um conflito então o ícone muda para um ponto de exclamação amarelo.
Se você marcou a propriedade svn:needs-lock
em um arquivo, o Subversion faz com que aquele arquivo se torne somente-leitura até que você obtenha uma trava naquele arquivo. Tais arquivos tem este revestimento para indicar que você precisa obter uma trava antes que você possa editar aquele arquivo.
Se você mantém uma trava em um arquivo, e o estado do Subversion é normal, o revestimento do ícone lembra você de que você deve liberar a trava se não estiver usando-o para permitir que outros possam submeter suas mudanças para quele arquivo.
Este ícone mostra a você que alguns arquivos ou pastas dentro da pasta atual foram agendados para serem deletados do controle de versionamento ou um arquivo dentro do controle de versionamento está faltando em uma pasta.
O sinal de mais significa que um arquivo ou pasta foi agendado para ser addicionado ao controle de versões.
O sinal de barra lhe diz que um arquivo ou pasta é ignorado do controle de versões. Esse revestimento é opcional.
Este ícone mostra arquivos e pastas que não estão sob o controle de versionamento, mas não foram ignorados. Este revestimento é opcional.
De fato, você pode descobrir que nem todos estes ícones são usados em seu sistema. Isto é porque o número de camadas permitidas pelo Windows é bem limitado e se você também estiver usando uma versão antiga do TortoiseCVS, então não haverá espaço suficiente. O TortoiseSVN tenta ser um “Good Citizen (TM) - Bom Cidadão” e limita seu uso de camadas para dar outros aplicativos uma chance também.
Agora que existem vários clientes Tortoise (TortoiseCVS, TortoiseHg, ...) a limitação do ícone torna-se um problema real. Para contornar isso, o projecto TortoiseSVN introduziu um conjunto de ícones comuns e partilhados, carregados como uma DLL, que podem ser usados por todos os clientes Tortoise. Verifique com o seu provedor de cliente para ver se isso já foi integrado :-)
Para uma descrição de como as camadas de ícones correspondem ao estado do Subversion e outros detalhes técnicos, leia “Sobreposição dos Ícones”.
Algumas vezes você quer ter informações mais detalhadas sobre um arquivo/diretório do que a sobreposição de ícones. Você pode obter toda a informação que Subversion provê na janela de propriedades no explorer. Apenas selecione o arquivo ou diretório e selecione → no menu de contexto (nota: esta é a entrada de menu de propriedades do explorer, não o submenu do TortoiseSVN!). No caixa de propriedades da janela, o TortoiseSVN adicionou uma nova página de propriedades para arquivos/pastas sobre o controle do Subersion, onde você pode ver todas as informações relevantes sobre os arquivos/diretórios selecionados.
É frequentemente muito útil saber quais arquivos você alterou e também quais arquivos foram alterados e submetidos por outros. É aí que o comando → se torna útil. Esta janela lhe mostrará cada arquivo que foi alterado de qualquer maneira dentro da sua cópia de tabalho, assim como quaisquer arquivos não-versionados que você possa possuir.
Se você clicar no botão Shift quando clicar no botão .
então você também pode olhar as mudanças no repositório. Dessa maneira você pode checar antes de uma atualização se pode haver um possível conflito. Você também pode atualizar arquivos selecionados do repositório sem atualizar toda a pasta. Por padrão, o botão somente busca o estado remoto com a profundidade de obtenção da sua cópia de trabalho. Se você deseja ver todos os arquivos e pastas no repositório, mesmo aquelas que você não obteve, então você deve manter pressionada a teclaA janela usa codificação de cores para demarcar o estado.
Itens modificados localmente.
if unchanged files are inside a directory that's been moved, the status will show a +
sign in the status column, and it will be colored in blue as well.
Itens adicionados. Itens que foram adicionados com histórico tem um sinal +
na coluna de Estado de Texto, e uma janela mostra de onde o item foi copiado.
Itens excluídos ou perdidos.
Itens modificados localmente e no repositório. As mudanças serão juntadas ao atualizar. Isto pode produzir conflitos ao atualizar.
Itens modificados localmente e apagados no repositório, ou modificados no repositório e apagados localmente. Isto irá produzir conflitos durante a atualização.
Itens não modificados ou não controlados.
Este é o esquema padrão de cores, mas você pode personalizar as cores usando a janela de configurações. Acesse “Configurações de Cores do TortoiseSVN” para mais informações.
Ícones de sobreposição são usados para indicar também outros estados. A captura de ecrã abaixo mostra todas as sobreposições possíveis que poderão ser mostradas se necessário.
São mostradas sobreposições para os seguintes estados:
Nível de checkout vazia
, siginfica apenas o item.
Nivel de checkout ficheiros
, significa só o próprio item e todos os ficheiros sem pastas filho.
Nivel de checkout imediatos
, significa só próprio item, todos os ficheiros e pastas filho, mas sem os filhos das pastas filho.
Itens aninhados, i.e., cópias de trabalho dentro da cópia de trabalho.
Itens externos, i.e., todos os itens que são adicionados via a propriedade svn:externals
.
Itens que são restaurados após uma submissão. Consulta “Enviar somente partes dos arquivos” para detalhes.
Itens que têm modificações de propriedade, mas apenas na propriedade svn:mergeinfo
. Se qualquer outra propriedade estiver modificada, não será usada a sobreposição.
Itens que foram trocados para um caminho diferente no repositório são também sinalizados com um marcador (s)
. Podes ter trocado algo enquanto trabalhavas num ramo e te esqueceste de trocar de novo para o trunk. Isto é o teu sinal de aviso! O menu de contexto permite-te trocar de volta para o caminho normal mas uma vez.
Do menu de contexto da janela você pode ver um diff de mudanças. Marque as mudanças localis que você fez usando → . Marque as mudanças no repositório feitas por outros usando → .
Você também pode reverter as mudanças em arquivos individuais. Se você apagou um arquivo acidentalmente, ele aparecerá como Faltando e você pode usar Reverter para recuperá-lo.
Arquivos não-versionados e ignorados podem ser enviados para a lixeira daqui usando Shift enquanto cliclar em Apagar.
→ . Se você deseja apagar arquivos permanentemente (ignorando a lixeira) matenha pressionada a teclaSe tu quiseres examinar um ficheiro em detalhe, podes arrastá-lo daqui para outro aplicativo, como um editor de texto ou IDE, ou podes salvar uma cópia simplesmente arrastando-o para uma pasta do navegador.
As colunas são personalizáveis. Se você clicar com o botão direito em qualquer cabeçalho de coluna você verá um menu de contexto permitindo-o selecionar quais colunas serão exibidas. Você pode também alterar a largura das colunas usando o ícone de arrastar que aparece quando você passa o mouse em cima de uma borda de coluna. Essas personalizações são preservadas, então você verá os mesmos cabeçalhos da próxima vez.
Se você está trabalhando em diversas tarefas independentes ao mesmo tempo, você pode também agrupar arquivos em changelists. Leia “Lista de Alterações” para maiores informações.
Na parte inferior da janela você pode ver um sumário da variação das revisões do repositório em uso na sua cópia de trabalho. Essas são as revisões submetidas, não as revisões atualizadas; elas representam a variação das revisões onde estes arquivos foram submetidos pela última vez, não as revisões nas quais foram atualizados. Note que a variação de revisões mostrada aplica-se somente aos itens exibidos, não à cópia de trabalho inteira. Se você deseja ver informações sobre a cópia de trabalho inteira você deve marcar a caixa Mostrar arquivos não modificados.
Se você deseja uma exibição simples da sua cópia de tabalho, p. ex. mostrando todos os arquivos e pastas em cada nível da hierarquia de pastas, então a janela Verificar por Modificações é a maneira mais fácil de conseguir isso. Simplesmente marque a caixa Mostrar arquivos não modificados para mostrar todos os arquivos na sua cópia de trabalho.
Algumas vezes arquivos são renomeados fora do Subversion, e eles aparecem na lista de arquivos como arquivos perdidos e como arquivos não versionados. Para evitar a perca do histório você precisa notificar o Subversion sobre a conexão entre os arquivos. Simplesmente selecione o arquivo antigo (perdido) e o arquivo nome (não versionado) e use a opção
→ para identificar os dois arquivos como uma renomeação.Se você fez uma cópia de um arquivo e esqueceu de usar o comando do SVN na cópia, você pode reparar a cópia e assim o novo arquivo não perderá seu histórico. Simplesmente selecione o arquivo antigo (normal ou modificado) e o nome arquivo (não versionado) e use
→ para identificar os dois arquivos como um cópia.Frequentemente você deseja olhar dentro de seus arquivos, para observar o que foi alterado. Você pode fazê-lo selecionando o arquivo que foi alterado, e selecionando BASE
), que foi armazenada após a última submissão ou atualização.
Mesmo quando não não se está dentro de uma cópia de trabalho ou quando você tiver múltiplas versões do arquivo em disco, você ainda pode visualizar diffs:
Selecione os dois arquivos que você deseja comparar no explorer ( p. ex. usando Ctrl e o mouse) e escolha do menu de contexto do TortoiseSVN. O arquivo clicado por último ( o que possui foco, ou seja, um retângulo pontilhado) será compreendido como o último.