O gerenciamento de versões via Subversion (SVN) é executado predominantemente através de chamadas de terminal. As operações consistem na sincronização entre o repositório centralizado e as cópias de trabalho distribuídas. A documentação a seguir cataloga a sintaxe e o funcionamento das instruções fundamentais.
Obtenção e Sincronização de Cópias Locais
Para inicializar um ambiente de desenvolvimento a partir de um repositório remoto, emprega-se a operação de checkout, que replica a árvore de arquivos para o disco local.
svn checkout svn://infra.empresa.net/projetos/api_backend ./workspace_local
# Atalho reconhecido pelo cliente: svn co
A atualização da árvore local com as modificações remotas mais recentes, ou o retorno a um estado histórico específico, é realizado com update.
# Atualiza todos os arquivos versionados no diretório atual
svn update
# Reverte um arquivo específico para a revisão 384
svn update -r 384 src/services/PaymentService.java
# Atalho reconhecido pelo cliente: svn up
Controle de Inclusão e Remoção
Arquivos recém-criados não são rastreados automaticamente. É necessário agendar sua adição explicitamente antes do próximo envio ao servidor.
svn add src/utils/CryptoHelper.py
# Agendar múltiplos recursos utilizando padrão de nomenclatura
svn add config/*.json
A exclusão de recursos do controle de versão requer o comando remove, que prepara o item para deleção no próximo commit.
svn remove docs/legado_manual_v1.txt
# Atalhos reconhecidos pelo cliente: svn rm, svn del
Submissão e Gerenciamento de Acessos
A confirmação das alterações pendentes para o servidor deve conter uma mensagem de registro que descreva o escopo da modificação.
svn commit -m "Implementação de cache distribuído e otimização de consultas SQL" src/
# Atalho reconhecido pelo cliente: svn ci
Em fluxos de trabalho que exigem edição exclusiva, utiliza-se lock para impedir sobreposições de escrita, especialmente em ativos não textuais.
svn lock -m "Revisão de layout final em andamento" assets/branding/logo_vector.svg
# Para liberar o recurso após a conclusão:
svn unlock assets/branding/logo_vector.svg
Auditoria de Estado e Histórico
A verificação do status da cópia de trabalho é processada localmente, utilizando os metadados ocultos no diretório .svn, dispensando conectividade.
svn status
# Exibe informações expandidas com revisões e autores
svn status -v
# Indicadores frequentes na saída:
# ? -> Item não versionado
# M -> Modificações locais detectadas
# C -> Conflito de integração identificado
# A -> Item agendado para adição
Para consultar o histórico de alterações aplicadas a um caminho específico:
svn log src/modules/AuthController.php
# Limitar a exibição às últimas 10 entradas
svn log -l 10
Dados estruturais, incluindo URL de origem e número de revisão base, são recuperados através de info.
svn info ./build/configs
Comparação e Integração de Código
A análise das diferenças entre a cópia de trabalho e a base versionada, ou entre revisões arbitrárias, é feita com diff.
svn diff src/models/UserEntity.js
# Comparar o intervalo entre as revisões 115 e 122
svn diff -r 115:122 src/models/UserEntity.js
# Atalho reconhecido pelo cliente: svn di
A aplicação de correções ou funcionalidades entre branches utiliza merge, que combina diferenças de um intervalo de revisões ao contexto atual.
svn merge -r 440:455 https://repositorio.empresa.net/raiz/branches/refactor-core
# O procedimento geralmente gera conflitos que exigem intervenção manual.
Manipulação Estrutural e Resolução de Impasses
A criação de diretórios versionados pode ser agendada localmente ou executada imediatamente via URL.
svn mkdir staging/deploy_v3.0
# Criação direta no servidor com confirmação síncrona
svn mkdir https://repositorio.empresa.net/raiz/tags/v3.0.0 -m "Estabilização da release"
Após a correção manual de conflitos resultantes de operações de update ou merge, o sinalizador de conflito deve ser limpo para desbloquear o estado do arquivo.
svn resolved src/network/HttpClient.java
Para descartar alterações locais não comprometidas e restaurar a integridade da cópia de trabalho:
svn revert src/temp_logs/debug_output.txt
Navegação Remota e Reconfiguração de Conexão
Para listar a estrutura de um repositório sem realizar o download dos arquivos:
svn ls https://repositorio.empresa.net/raiz/branches/
# Atalho reconhecido pelo cliente: svn list
A migração da cópia de trabalho para uma nova URL, seja para transição de branch ou correção de domínio, é gerenciada por switch.
# Aponta o workspace para uma nova branch ativa
svn switch https://repositorio.empresa.net/raiz/branches/feature-payment-gateway
# Atualiza exclusivamente os metadados de conexão quando o host do servidor muda
svn switch --relocate svn://legacy-host/svn svn://cloud-host/svn
Consulta à Documentação
O cliente disponibiliza suporte contextual para sintaxe e opções de cada subcomando.
svn help
svn help resolved