Ao trabalhar com o repositório Subversion, as mudanças remotas (aquelas no repositório) são mudanças de entrada (remoto → local), enquanto as mudanças locais são mudanças de saída (local → remoto).
Em visualizações que comparam as cópias locais e remotas, as mudanças de entrada são indicadas com uma seta azul voltada para a esquerda, enquanto as mudanças de saída são indicadas com uma seta cinza voltada para a direita. Essas setas podem ser decoradas para indicar operações mais específicas.
A visualização Package Explorer, por outro lado, indica o status de um arquivo com um conjunto diferente de ícones que representam seu estado local. Esses ícones são os mais comumente vistos, então vamos começar com eles:
- Um arquivo ignorado pelo controle de versão. Você pode controlar quais recursos serão ignorados indo para Janela → Preferências → Equipe → Recursos ignorados .
- Um arquivo que não está sob controle de versão. Normalmente, esses são novos arquivos que você ainda não consolidou no repositório.
- Um arquivo com versão que precisa ser adicionado ao repositório remoto. Normalmente, são arquivos que você renomeou ou moveu para um diretório diferente.
- Uma pasta excluída. Estas são as pastas que você excluiu localmente, sem ainda submeter as alterações ao repositório. Observe que os arquivos geralmente são removidos da visualização quando são excluídos localmente, portanto, normalmente não são vistos com este ícone.
- Um arquivo sem alterações locais.
- Um arquivo com alterações locais não confirmadas.
- UMAarquivo bloqueado .
- Um arquivo que precisa de um bloqueio para ser editado. Normalmente, são arquivos que não podem ser mesclados facilmente (ou seja, arquivos binários), mas podem ter muitos editores. Um arquivo precisa de um bloqueio quando sua svn:needs-lock
propriedade é definida e o Subversion tentará tornar esses arquivos somente leitura no sistema de arquivos para forçar a negociação de bloqueio apropriada.
- Um arquivo em conflito. Normalmente, esses são arquivos que tiveram um conflito de confirmação / atualização que você marcou para resolver posteriormente.
- Um arquivo que tem um conflito de árvore. Normalmente, são arquivos com alterações locais, mas que foram movidos, removidos ou renomeados no repositório desde a última atualização da cópia local.
- Um arquivo externo ao projeto. Os arquivos externos vinculados não podem ser confirmados no repositório. - Um arquivo que foi
mudou . Estes são arquivos que pertencem a uma cópia de trabalho diferente de seu diretório pai local.
Em uma visualização de sincronização (por exemplo, por meio de Sincronizar com Repositório ou Confirmar ), conforme descrito anteriormente, existem ícones que indicam em qual direção uma mudança está ocorrendo, bem como informações adicionais sobre essa mudança. Eles são descritos abaixo:
Saída
- Um arquivo cujo conteúdo foi modificado e será enviado para o repositório.
- Um arquivo que será adicionado recentemente ao repositório. Isso pode coincidir com a remoção de um arquivo nos casos em que um arquivo é movido ou renomeado.
- Um arquivo que será removido do repositório. Isso pode coincidir com a adição de um arquivo nos casos em que um arquivo é movido ou renomeado.
- Um arquivo com alterações de propriedade , na caixa de diálogo Confirmar. Na guia Sincronizar, as alterações nas propriedades são refletidas atualmente como uma modificação normal do arquivo ( ).
Entrada
- Um arquivo que possui alterações de conteúdo confirmadas no repositório que serão aplicadas à cópia local.
- Um novo arquivo que será adicionado à cópia local do repositório. Como a adição do arquivo de saída, isso pode ser o resultado de uma movimentação ou renomeação.
- Um arquivo que será removido da cópia local porque foi removido do repositório. Como a remoção do arquivo de saída, isso pode ser o resultado de uma mudança ou renomeação.
Conflito
- Um arquivo que foi alterado na cópia local e no repositório de forma independente, causando a necessidade de resolução de conflito. A correção dessa condição envolve a abertura da visualização de conflito ou a substituição forçada das alterações local ou remotamente.
- Um arquivo que tem um conflito de árvore . Isso pode ocorrer quando há novas alterações em um arquivo em uma extremidade (local ou remota) e o arquivo é movido, removido ou renomeado na outra.
Finalmente, a opção Sincronizar com Repositório abre a guia Sincronizar ( ) com os seguintes botões:
- Sincroniza a cópia local com o repositório atualmente selecionado quando clicado. Selecionar no menu suspenso permite alternar entre diferentes bases de código remotas.
- Mostra apenas as mudanças recebidas (remoto → local).
- Mostra apenas as mudanças de saída (local → remoto).
- Mostra as mudanças de entrada e saída (remoto ↔ local).
- Mostra mudanças conflitantes.
- Atualiza todos os recursos locais com as mudanças recebidas após o prompt.
- Abre a caixa de diálogo de confirmação para confirmar todas as alterações de saída.
- Divide as listas de mudanças por revisões.
Existem algumas outras visualizações que não foram abordadas que têm ícones adicionais, mas isso deve ser um bom começo. Avise-me se houver algo importante faltando ou se alguma dessas descrições parecer diferente da sua experiência real.