Pergunta

O que significam os códigos de resultado no SVN?Preciso de uma referência rápida.

Foi útil?

Solução

Para obter detalhes adicionais, consulte o SVNBook: "Status dos arquivos e diretórios da cópia de trabalho".

Os status comuns:

você:O arquivo de trabalho foi atualizado

G:As alterações no repositório foram automaticamente mescladas na cópia de trabalho

M:A cópia de trabalho foi modificada

C:Este arquivo está em conflito com a versão no repositório

?:Este arquivo não está sob controle de versão

!:Este arquivo está sob controle de versão, mas está ausente ou incompleto

A:Este arquivo será adicionado ao controle de versão (após commit)

UM+:Este arquivo será movido (após commit)

D:Este arquivo será excluído (após commit)

S:Isso significa que o arquivo ou diretório foi alterado do caminho do restante da cópia de trabalho (usando o switch SVN) para uma filial

EU:Ignorado

X:Definição externa

~:Tipo alterado

R:O item foi substituído em sua cópia de trabalho.Isso significa que o arquivo foi agendado para exclusão e, em seguida, um novo arquivo com o mesmo nome foi agendado para adição em seu lugar.

eu :O item está bloqueado

E:O item existia, como teria sido criado, por uma atualização do SVN.

Outras dicas

Observe também que um código de resultado na segunda coluna se refere às propriedades do arquivo.Por exemplo:

U   filename.1
 U  filename.2  
UU  filename.3

nome do arquivo.1:o arquivo foi atualizado
nome do arquivo.2:uma propriedade ou propriedades no arquivo (como svn:keywords) foram atualizadas
nome do arquivo.3:tanto o arquivo quanto suas propriedades foram atualizados

Você sempre pode obter uma lista executando:

svn status --help

Há também um status 'E'

E = O arquivo existia antes da atualização

Isso pode acontecer se você tiver criado manualmente uma pasta que teria sido criada ao realizar uma atualização.

Quero dizer algo sobre o status "G",

G:As alterações no repositório foram automaticamente mescladas na cópia de trabalho

Acho que a definição acima não está clara, pode gerar um pouco de confusão, pois todos os arquivos são automaticamente mesclados na cópia de trabalho, o correto deveria ser:

U = item (U)pdatado para a versão do repositório

G = alterações locais do item mer(G)ed com repositório

C = alterações locais do item (C) em conflito com o repositório

D = item (D) excluído da cópia de trabalho

A = item (A) adicionado à cópia de trabalho

Eu costumo usar o svn através de uma interface gráfica, seja meu IDE ou um cliente.Por causa disso, nunca consigo lembrar os códigos quando tenho que recorrer à linha de comando.

Acho esta folha de dicas uma grande ajuda:Folha de dicas do Subversion

Dê uma olhada na referência do livro Subversion: "Status dos arquivos e diretórios da cópia de trabalho"

Altamente recomendado para qualquer pessoa que faça praticamente qualquer coisa com SVN.

Colunas de status SVN

$ svn status
L index.html

A saída do comando é dividida em seis colunas, mas isso não é óbvio porque às vezes as colunas estão vazias.Talvez fizesse mais sentido indicar as colunas vazias com travessões, a forma como ls -l faz, em vez de nada.Então, por exemplo, L index.html pareceria --L--- index.html, o que torna óbvio que a única informação que temos está na terceira coluna sobre o bloqueio.De qualquer forma, quando você sabe disso, começa a fazer mais sentido.

Primeira coluna do status SVN:A, D, M, R, C, X, I, ?, !, ~

A primeira coluna indica que um item foi adicionado, excluído ou alterado de outra forma.

    Sem modificações.

 A  O item está programado para adição.

 D  O item está programado para exclusão.

 M  O item foi modificado.

 R  O item foi substituído em sua cópia de trabalho.Isso significa que o arquivo foi agendado para exclusão e, em seguida, um novo arquivo com o mesmo nome foi agendado para adição em seu lugar.

 C  O conteúdo (em oposição às propriedades) do item entra em conflito com as atualizações recebidas do repositório.

 X  O item está relacionado a uma definição externa.

 I  O item está sendo ignorado (por ex.com a propriedade svn:ignore).

 ?  O item não está sob controle de versão.

 !  O item está faltando (por ex.você o moveu ou excluiu sem usar o svn).Isso também indica que um diretório está incompleto (um checkout ou atualização foi interrompido).

 ~  O item é versionado como um tipo de objeto (arquivo, diretório, link), mas foi substituído por um tipo diferente de objeto.

Segunda coluna de status SVN:M, C

A segunda coluna informa o status das propriedades de um arquivo ou diretório.

    Sem modificações.

 M  As propriedades deste item foram modificadas.

 C  As propriedades deste item estão em conflito com as atualizações de propriedade recebidas do repositório.

Terceira coluna do status SVN:eu

A terceira coluna é preenchida apenas se o diretório da cópia de trabalho estiver bloqueado (uma limpeza do svn normalmente deve ser suficiente para limpá-lo)

    O item não está bloqueado.

 L  O item está bloqueado.

Quarta coluna do status SVN:+

A quarta coluna será preenchida somente se o item estiver programado para adição com histórico.

    Nenhum histórico agendado com commit.

 +  Histórico agendado com commit.

Quinta coluna do status SVN:S

A quinta coluna é preenchida apenas se a cópia de trabalho do item for trocada em relação ao seu pai

    Item é filho de seu diretório pai.

 S  O item foi trocado.

Sexta coluna do status SVN:K, O, T, B

A sexta coluna é preenchida com informações de bloqueio.

    Quando –show-updates é usado, o arquivo não é bloqueado.Se –show-updates não for usado, isso significa apenas que o arquivo não está bloqueado nesta cópia de trabalho.

 K  O arquivo está bloqueado nesta cópia de trabalho.

 O  O arquivo está bloqueado por outro usuário ou em outra cópia de trabalho.Isso só aparece quando –show-updates é usado.

 T  O arquivo foi bloqueado nesta cópia de trabalho, mas o bloqueio foi roubado e é inválido.O arquivo está atualmente bloqueado no repositório.Isso só aparece quando –show-updates é usado.-

 B  O arquivo foi bloqueado nesta cópia de trabalho, mas o bloqueio foi quebrado e é inválido.O arquivo não está mais bloqueado. Isso só aparece quando –show-updates é usado.

Sétima coluna do status SVN:*

As informações desatualizadas aparecem na sétima coluna (somente se você passar pela opção –show-updates).Isso é algo que as pessoas que são novas no SVN esperam que o comando faça, sem perceber que ele apenas compara o estado atual do arquivo com as informações que ele obteve do servidor na última atualização.

    O item em sua cópia de trabalho está atualizado.

 *  Existe uma revisão mais recente do item no servidor.

Sempre que você não tiver acesso à documentação (Livro SVN), digite (Linux):

svn help status | grep \'\?\'
svn help status | grep \'\!\'
svn help status | grep \'\YOUR_SYMBOL_HERE\'

ou insira a seguinte função em seu arquivo ~/.bashrc, assim:

svncode() {
  symbol=$1
  [ $symbol ] &&  svn help status | grep \'$(echo $symbol)\' || \
  echo "usage: svncode <symbol>"
}

enter image description here

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top