SVN Subversion Principais Comandos
SVN Subversion Principais Comandos. Principais Comandos svn, aqui alguns comandos do Subversion. Para utilizado em ambiente Windows, é necessário que seja instalado o cliente Subversion em linha de comando. Na Bireme, é utilizado comumente o TortoiseSVN ao invés da linha de comando, quando se trabalha com Windows, o cliente por linha de comando precisa ser instalado separadamente.
SVN checkout
É utilizado para descarregar o código do projeto, mantendo o versionamento. Dessa forma, é possível manter o código atualizado, enviar novas atualizações, ver diferenças entre versões de arquivos, entre outras funcionalidades que podem ser encontradas no manual do Subversion.
No exemplo a seguir, é feito o checkout da versão do BVS-Site que está em desenvolvimento para uma pasta chamada bvs-trunk:
$ svn co svn://svn.reddes.bvsalud.org/bvs-site/bvs-site/trunk/ bvs-trunk
Revision keywords
HEAD A última (ou “mais recente”) revisão no repositório. (svn co svn://path -r HEAD)
BASE O número de revisão de um item em uma cópia de trabalho. Se o item tiver sido modificado localmente, a “versão BASE” refere-se à forma como o item estaria sem estas modificações locais. (svn log –revision BASE:HEAD)
COMMITED A revisão mais recente anterior, ou igual a, BASE, na qual o item foi modificado. (svn log –revision COMMITTED path)
PREV A revisão imediatamente anterior à última revisão na qual o item foi modificado. Tecnicamente, isto se resume a COMMITTED-1. (svn log –revision PREV path)
SVN update
É utilizado para atualizar o código fonte local com o código fonte existente no repositório do Subversion. O update pode ser realizado sobre arquivo ou diretórios. Caso feito sobre um diretório, serão atualizados também todos arquivos deste diretório e subdiretórios.
O seguinte comando atualiza o arquivo index.php em bvs-trunk/htdocs:
$ svn update bvs-trunk/htdocs/index.php
O seguinte comando atualiza toda a pasta do projeto:
$ svn update bvs-trunk
SVN add & del
São os comando usados para adicionar e excluir arquivos (respectivamente) no subversion.
$ svn add bvs-trunk/htdocs/info.php
ou
$ svn del bvs-trunk/htdocs/info.php
SVN commit
Quando se modifica arquivo e deseja-se que a moficação seja aplicada também no repositório, é utiliza o comando commit, que envia ao servidor todas as alterações ocorridas no código local. Caso feito sobre um diretório, serão enviados também todos arquivos deste diretório e subdiretórios que tenham alguma modificação, ou que tenha sido adicionado.
O seguinte comando envia o arquivo index.php em bvs-trunk/htdocs:
$ svn ci bvs-trunk/htdocs/index.php
O seguinte comando envia ao servidor todos os arquivos da pasta do projeto:
$ svn ci bvs-trunk -m “Uma mensagem para descrever este commit”
Pode ser preciso autenticação para para se enviar um arquivo para o repositório. Quando este for o caso, pode-se utilizar os parâmetros –username e –password. Assim, o comando acima ficaria da seguinte forma:
$ svn ci bvs-trunk --username=fabio --password=f4b1O -m "Descrição para do commit"
Para os que trabalham com o Trac, é possível ter a interação entre os tickets abertos e as mensagens escritas para o commit. Pode-se, por exemplo, fechar um ticket através de um commit. O exemplo a seguir fecha o ticket de número 3.
$ svn ci bvs-trunk -m "resolve *3"
SVN log
Para viasualizar o log de dos commits realizados asta usar os comandos:
$ svn log bvs-trunk/htdocs/index.php
SVN revert
Nem sempre se quer que as alterções feitas seja enviadas para o repositório. Existem casos que é desejado desfazer as alterações feitas localmente. Para isso se utiliza o comando revert, que como os anteriores, pode ser aplicado sobre arquivos ou pastas.
O seguinte comando reverte as alteraç?s do arquivo index.php em bvs-trunk/htdocs:
$ svn revert bvs-trunk/htdocs/index.php
O seguinte comando reverte as alterações de todos os arquivos da pasta do projeto:
$ svn revert --recursive bvs-trunk
Importante: Não é possível desfazer o revert. Depois de feito, todas as alterações são perdidas!
status
Lista todas as diferenças existentes entre o código fonte local e o existente no repositório. Maiores informações sobre o significado das abreviações presentes no resultado podem ser encontradas digitando o seguinte:
SVN help status
Mostra o estado do arquivo index.php em bvs-trunk/htdocs local, em relação ao servidor:
$ svn status bvs-trunk/htdocs/index.php
Lista o estado de todos arquivos e pastas locais em relação ao servidor:
` $ svn status bvs-trunk`
SVN diff
Exibe as diferenças dos arquivos modificados com os arquivos presente no repositório. Esta ferramenta pode ser usada para criar patches. Isto pode ser feito criando um arquivo contendo diferença de todos arquivos modificados no projeto, da seguinte forma:
$ svn diff htdocs/admin/editor.php > editor.patch
Após esse comando, vai ser gerado um arquivo com as diferenças entre o arquivo editor.php local e o editor.php do repositório. Para este caso, o conteúdo do arquivo gerado é o seguinte:
Index: htdocs/admin/editor/editor.php
— htdocs/admin/editor/editor.php (revisão 3110) +++ htdocs/admin/editor/editor.php (cópia de trabalho) @@ -57,7 +57,7 @@
Este patch pode ser aplicado em outro local que também tenha o código fonte, de preferência versionado e sob mesma revisão, do BVS-Site. A aplicação pode ser feita da seguinte forma:
$ patch -p0 < editor.patch
Visualizar diferenças da copia local com uma revisão especifica:
$ svn diff htdocs/admin/editor.php --revision 10 > editor.patch
SVN propset
Este comando adiciona propriedades a arquivos e pastas versionados, para ajudar a gerenciar melhor os arquivos dentro da cópia local do código fonte.
svn:ignore
Diz ao Subversion não versionar arquivos com esta propriedade.
Faz com que nenhum arquivo adicionado em bases/site/rss seja versionado:
$ svn propset svn:ignore *
$ svn commit .
Retira arquivo bvs-site-conf.php do versionamento:
` $ svn del bvs-trunk/htdocs/bvs-site-conf.php $ svn propset svn:ignore bvs-trunk/htdocs/bvs-site-conf.php $ svn commit bvs-trunk/htdocs`
A propriedade é criada no escopo da pasta. Por isso faz-se commit da pasta e não do arquivo.
svn:mime-type
Esta propriedade é muito útil quando se usa o Trac. A maioria dos projetos da Bireme contém código e documentos escrito com o conjunto de caracteres ISO-8859-1. Quando estes documentos são vizualizados no Trac, acontecem alguns problema com acentos e caracteres especiais, pois o Trac assume que todo documento seja UTF-8 quando algo diferente não for especificado na propriedade svn:mime-type.
Diz ao SVN que o CHANGES.txt é um arquivo texto e com caracteres mapeados no ISO-8859-1.
$ svn propset svn:mime-type "text/plain;charset=iso-8859-1" bvs-trunk/CHANGES.txt
SVN info
Imprime informações dos arquivos locais.
$ svn info path
SVN import
Importa arquivos de um path local para o repositório.
` $ svn import –m “message” local_path svn_path`
SVN export
Exporta a arvore de diretórios.
$ svn export svn_path
Recupera a última versão do repositório sem os arquivos de controle de versão (.svn).
SVN list
Lista diretórios no repositório
$ svn list svn_path
Lista diretórios no repositorio (ls unix)
$ svn list --versobe svn_path
SVN blame
Mostra autor e revisão (annotate, praise e ann).
``SVN Subversion Principais Comandos. Principais Comandos svn, aqui alguns comandos do Subversion. Para utilizado em ambiente Windows, é necessário que seja instalado o cliente Subversion em linha de comando. Na Bireme, é utilizado comumente o TortoiseSVN ao invés da linha de comando, quando se trabalha com Windows, o cliente por linha de comando precisa ser instalado separadamente.
SVN checkout
É utilizado para descarregar o código do projeto, mantendo o versionamento. Dessa forma, é possível manter o código atualizado, enviar novas atualizações, ver diferenças entre versões de arquivos, entre outras funcionalidades que podem ser encontradas no manual do Subversion.
No exemplo a seguir, é feito o checkout da versão do BVS-Site que está em desenvolvimento para uma pasta chamada bvs-trunk:
$ svn co svn://svn.reddes.bvsalud.org/bvs-site/bvs-site/trunk/ bvs-trunk
Revision keywords
HEAD A última (ou “mais recente”) revisão no repositório. (svn co svn://path -r HEAD)
BASE O número de revisão de um item em uma cópia de trabalho. Se o item tiver sido modificado localmente, a “versão BASE” refere-se à forma como o item estaria sem estas modificações locais. (svn log –revision BASE:HEAD)
COMMITED A revisão mais recente anterior, ou igual a, BASE, na qual o item foi modificado. (svn log –revision COMMITTED path)
PREV A revisão imediatamente anterior à última revisão na qual o item foi modificado. Tecnicamente, isto se resume a COMMITTED-1. (svn log –revision PREV path)
SVN update
É utilizado para atualizar o código fonte local com o código fonte existente no repositório do Subversion. O update pode ser realizado sobre arquivo ou diretórios. Caso feito sobre um diretório, serão atualizados também todos arquivos deste diretório e subdiretórios.
O seguinte comando atualiza o arquivo index.php em bvs-trunk/htdocs:
$ svn update bvs-trunk/htdocs/index.php
O seguinte comando atualiza toda a pasta do projeto:
$ svn update bvs-trunk
SVN add & del
São os comando usados para adicionar e excluir arquivos (respectivamente) no subversion.
$ svn add bvs-trunk/htdocs/info.php
ou
$ svn del bvs-trunk/htdocs/info.php
SVN commit
Quando se modifica arquivo e deseja-se que a moficação seja aplicada também no repositório, é utiliza o comando commit, que envia ao servidor todas as alterações ocorridas no código local. Caso feito sobre um diretório, serão enviados também todos arquivos deste diretório e subdiretórios que tenham alguma modificação, ou que tenha sido adicionado.
O seguinte comando envia o arquivo index.php em bvs-trunk/htdocs:
$ svn ci bvs-trunk/htdocs/index.php
O seguinte comando envia ao servidor todos os arquivos da pasta do projeto:
$ svn ci bvs-trunk -m “Uma mensagem para descrever este commit”
Pode ser preciso autenticação para para se enviar um arquivo para o repositório. Quando este for o caso, pode-se utilizar os parâmetros –username e –password. Assim, o comando acima ficaria da seguinte forma:
$ svn ci bvs-trunk --username=fabio --password=f4b1O -m "Descrição para do commit"
Para os que trabalham com o Trac, é possível ter a interação entre os tickets abertos e as mensagens escritas para o commit. Pode-se, por exemplo, fechar um ticket através de um commit. O exemplo a seguir fecha o ticket de número 3.
$ svn ci bvs-trunk -m "resolve *3"
SVN log
Para viasualizar o log de dos commits realizados asta usar os comandos:
$ svn log bvs-trunk/htdocs/index.php
SVN revert
Nem sempre se quer que as alterções feitas seja enviadas para o repositório. Existem casos que é desejado desfazer as alterações feitas localmente. Para isso se utiliza o comando revert, que como os anteriores, pode ser aplicado sobre arquivos ou pastas.
O seguinte comando reverte as alteraç?s do arquivo index.php em bvs-trunk/htdocs:
$ svn revert bvs-trunk/htdocs/index.php
O seguinte comando reverte as alterações de todos os arquivos da pasta do projeto:
$ svn revert --recursive bvs-trunk
Importante: Não é possível desfazer o revert. Depois de feito, todas as alterações são perdidas!
status
Lista todas as diferenças existentes entre o código fonte local e o existente no repositório. Maiores informações sobre o significado das abreviações presentes no resultado podem ser encontradas digitando o seguinte:
SVN help status
Mostra o estado do arquivo index.php em bvs-trunk/htdocs local, em relação ao servidor:
$ svn status bvs-trunk/htdocs/index.php
Lista o estado de todos arquivos e pastas locais em relação ao servidor:
` $ svn status bvs-trunk`
SVN diff
Exibe as diferenças dos arquivos modificados com os arquivos presente no repositório. Esta ferramenta pode ser usada para criar patches. Isto pode ser feito criando um arquivo contendo diferença de todos arquivos modificados no projeto, da seguinte forma:
$ svn diff htdocs/admin/editor.php > editor.patch
Após esse comando, vai ser gerado um arquivo com as diferenças entre o arquivo editor.php local e o editor.php do repositório. Para este caso, o conteúdo do arquivo gerado é o seguinte:
Index: htdocs/admin/editor/editor.php
— htdocs/admin/editor/editor.php (revisão 3110) +++ htdocs/admin/editor/editor.php (cópia de trabalho) @@ -57,7 +57,7 @@
Este patch pode ser aplicado em outro local que também tenha o código fonte, de preferência versionado e sob mesma revisão, do BVS-Site. A aplicação pode ser feita da seguinte forma:
$ patch -p0 < editor.patch
Visualizar diferenças da copia local com uma revisão especifica:
$ svn diff htdocs/admin/editor.php --revision 10 > editor.patch
SVN propset
Este comando adiciona propriedades a arquivos e pastas versionados, para ajudar a gerenciar melhor os arquivos dentro da cópia local do código fonte.
svn:ignore
Diz ao Subversion não versionar arquivos com esta propriedade.
Faz com que nenhum arquivo adicionado em bases/site/rss seja versionado:
$ svn propset svn:ignore *
$ svn commit .
Retira arquivo bvs-site-conf.php do versionamento:
` $ svn del bvs-trunk/htdocs/bvs-site-conf.php $ svn propset svn:ignore bvs-trunk/htdocs/bvs-site-conf.php $ svn commit bvs-trunk/htdocs`
A propriedade é criada no escopo da pasta. Por isso faz-se commit da pasta e não do arquivo.
svn:mime-type
Esta propriedade é muito útil quando se usa o Trac. A maioria dos projetos da Bireme contém código e documentos escrito com o conjunto de caracteres ISO-8859-1. Quando estes documentos são vizualizados no Trac, acontecem alguns problema com acentos e caracteres especiais, pois o Trac assume que todo documento seja UTF-8 quando algo diferente não for especificado na propriedade svn:mime-type.
Diz ao SVN que o CHANGES.txt é um arquivo texto e com caracteres mapeados no ISO-8859-1.
$ svn propset svn:mime-type "text/plain;charset=iso-8859-1" bvs-trunk/CHANGES.txt
SVN info
Imprime informações dos arquivos locais.
$ svn info path
SVN import
Importa arquivos de um path local para o repositório.
` $ svn import –m “message” local_path svn_path`
SVN export
Exporta a arvore de diretórios.
$ svn export svn_path
Recupera a última versão do repositório sem os arquivos de controle de versão (.svn).
SVN list
Lista diretórios no repositório
$ svn list svn_path
Lista diretórios no repositorio (ls unix)
$ svn list --versobe svn_path
SVN blame
Mostra autor e revisão (annotate, praise e ann).
``
Mostra autor e revisão especificando a revisão.
```SVN Subversion Principais Comandos. Principais Comandos svn, aqui alguns comandos do Subversion. Para utilizado em ambiente Windows, é necessário que seja instalado o cliente Subversion em linha de comando. Na Bireme, é utilizado comumente o TortoiseSVN ao invés da linha de comando, quando se trabalha com Windows, o cliente por linha de comando precisa ser instalado separadamente.
SVN checkout
É utilizado para descarregar o código do projeto, mantendo o versionamento. Dessa forma, é possível manter o código atualizado, enviar novas atualizações, ver diferenças entre versões de arquivos, entre outras funcionalidades que podem ser encontradas no manual do Subversion.
No exemplo a seguir, é feito o checkout da versão do BVS-Site que está em desenvolvimento para uma pasta chamada bvs-trunk:
$ svn co svn://svn.reddes.bvsalud.org/bvs-site/bvs-site/trunk/ bvs-trunk
Revision keywords
HEAD A última (ou “mais recente”) revisão no repositório. (svn co svn://path -r HEAD)
BASE O número de revisão de um item em uma cópia de trabalho. Se o item tiver sido modificado localmente, a “versão BASE” refere-se à forma como o item estaria sem estas modificações locais. (svn log –revision BASE:HEAD)
COMMITED A revisão mais recente anterior, ou igual a, BASE, na qual o item foi modificado. (svn log –revision COMMITTED path)
PREV A revisão imediatamente anterior à última revisão na qual o item foi modificado. Tecnicamente, isto se resume a COMMITTED-1. (svn log –revision PREV path)
SVN update
É utilizado para atualizar o código fonte local com o código fonte existente no repositório do Subversion. O update pode ser realizado sobre arquivo ou diretórios. Caso feito sobre um diretório, serão atualizados também todos arquivos deste diretório e subdiretórios.
O seguinte comando atualiza o arquivo index.php em bvs-trunk/htdocs:
$ svn update bvs-trunk/htdocs/index.php
O seguinte comando atualiza toda a pasta do projeto:
$ svn update bvs-trunk
SVN add & del
São os comando usados para adicionar e excluir arquivos (respectivamente) no subversion.
$ svn add bvs-trunk/htdocs/info.php
ou
$ svn del bvs-trunk/htdocs/info.php
SVN commit
Quando se modifica arquivo e deseja-se que a moficação seja aplicada também no repositório, é utiliza o comando commit, que envia ao servidor todas as alterações ocorridas no código local. Caso feito sobre um diretório, serão enviados também todos arquivos deste diretório e subdiretórios que tenham alguma modificação, ou que tenha sido adicionado.
O seguinte comando envia o arquivo index.php em bvs-trunk/htdocs:
$ svn ci bvs-trunk/htdocs/index.php
O seguinte comando envia ao servidor todos os arquivos da pasta do projeto:
$ svn ci bvs-trunk -m “Uma mensagem para descrever este commit”
Pode ser preciso autenticação para para se enviar um arquivo para o repositório. Quando este for o caso, pode-se utilizar os parâmetros –username e –password. Assim, o comando acima ficaria da seguinte forma:
$ svn ci bvs-trunk --username=fabio --password=f4b1O -m "Descrição para do commit"
Para os que trabalham com o Trac, é possível ter a interação entre os tickets abertos e as mensagens escritas para o commit. Pode-se, por exemplo, fechar um ticket através de um commit. O exemplo a seguir fecha o ticket de número 3.
$ svn ci bvs-trunk -m "resolve *3"
SVN log
Para viasualizar o log de dos commits realizados asta usar os comandos:
$ svn log bvs-trunk/htdocs/index.php
SVN revert
Nem sempre se quer que as alterções feitas seja enviadas para o repositório. Existem casos que é desejado desfazer as alterações feitas localmente. Para isso se utiliza o comando revert, que como os anteriores, pode ser aplicado sobre arquivos ou pastas.
O seguinte comando reverte as alteraç?s do arquivo index.php em bvs-trunk/htdocs:
$ svn revert bvs-trunk/htdocs/index.php
O seguinte comando reverte as alterações de todos os arquivos da pasta do projeto:
$ svn revert --recursive bvs-trunk
Importante: Não é possível desfazer o revert. Depois de feito, todas as alterações são perdidas!
status
Lista todas as diferenças existentes entre o código fonte local e o existente no repositório. Maiores informações sobre o significado das abreviações presentes no resultado podem ser encontradas digitando o seguinte:
SVN help status
Mostra o estado do arquivo index.php em bvs-trunk/htdocs local, em relação ao servidor:
$ svn status bvs-trunk/htdocs/index.php
Lista o estado de todos arquivos e pastas locais em relação ao servidor:
` $ svn status bvs-trunk`
SVN diff
Exibe as diferenças dos arquivos modificados com os arquivos presente no repositório. Esta ferramenta pode ser usada para criar patches. Isto pode ser feito criando um arquivo contendo diferença de todos arquivos modificados no projeto, da seguinte forma:
$ svn diff htdocs/admin/editor.php > editor.patch
Após esse comando, vai ser gerado um arquivo com as diferenças entre o arquivo editor.php local e o editor.php do repositório. Para este caso, o conteúdo do arquivo gerado é o seguinte:
Index: htdocs/admin/editor/editor.php
— htdocs/admin/editor/editor.php (revisão 3110) +++ htdocs/admin/editor/editor.php (cópia de trabalho) @@ -57,7 +57,7 @@
Este patch pode ser aplicado em outro local que também tenha o código fonte, de preferência versionado e sob mesma revisão, do BVS-Site. A aplicação pode ser feita da seguinte forma:
$ patch -p0 < editor.patch
Visualizar diferenças da copia local com uma revisão especifica:
$ svn diff htdocs/admin/editor.php --revision 10 > editor.patch
SVN propset
Este comando adiciona propriedades a arquivos e pastas versionados, para ajudar a gerenciar melhor os arquivos dentro da cópia local do código fonte.
svn:ignore
Diz ao Subversion não versionar arquivos com esta propriedade.
Faz com que nenhum arquivo adicionado em bases/site/rss seja versionado:
$ svn propset svn:ignore *
$ svn commit .
Retira arquivo bvs-site-conf.php do versionamento:
` $ svn del bvs-trunk/htdocs/bvs-site-conf.php $ svn propset svn:ignore bvs-trunk/htdocs/bvs-site-conf.php $ svn commit bvs-trunk/htdocs`
A propriedade é criada no escopo da pasta. Por isso faz-se commit da pasta e não do arquivo.
svn:mime-type
Esta propriedade é muito útil quando se usa o Trac. A maioria dos projetos da Bireme contém código e documentos escrito com o conjunto de caracteres ISO-8859-1. Quando estes documentos são vizualizados no Trac, acontecem alguns problema com acentos e caracteres especiais, pois o Trac assume que todo documento seja UTF-8 quando algo diferente não for especificado na propriedade svn:mime-type.
Diz ao SVN que o CHANGES.txt é um arquivo texto e com caracteres mapeados no ISO-8859-1.
$ svn propset svn:mime-type "text/plain;charset=iso-8859-1" bvs-trunk/CHANGES.txt
SVN info
Imprime informações dos arquivos locais.
$ svn info path
SVN import
Importa arquivos de um path local para o repositório.
` $ svn import –m “message” local_path svn_path`
SVN export
Exporta a arvore de diretórios.
$ svn export svn_path
Recupera a última versão do repositório sem os arquivos de controle de versão (.svn).
SVN list
Lista diretórios no repositório
$ svn list svn_path
Lista diretórios no repositorio (ls unix)
$ svn list --versobe svn_path
SVN blame
Mostra autor e revisão (annotate, praise e ann).
``SVN Subversion Principais Comandos. Principais Comandos svn, aqui alguns comandos do Subversion. Para utilizado em ambiente Windows, é necessário que seja instalado o cliente Subversion em linha de comando. Na Bireme, é utilizado comumente o TortoiseSVN ao invés da linha de comando, quando se trabalha com Windows, o cliente por linha de comando precisa ser instalado separadamente.
SVN checkout
É utilizado para descarregar o código do projeto, mantendo o versionamento. Dessa forma, é possível manter o código atualizado, enviar novas atualizações, ver diferenças entre versões de arquivos, entre outras funcionalidades que podem ser encontradas no manual do Subversion.
No exemplo a seguir, é feito o checkout da versão do BVS-Site que está em desenvolvimento para uma pasta chamada bvs-trunk:
$ svn co svn://svn.reddes.bvsalud.org/bvs-site/bvs-site/trunk/ bvs-trunk
Revision keywords
HEAD A última (ou “mais recente”) revisão no repositório. (svn co svn://path -r HEAD)
BASE O número de revisão de um item em uma cópia de trabalho. Se o item tiver sido modificado localmente, a “versão BASE” refere-se à forma como o item estaria sem estas modificações locais. (svn log –revision BASE:HEAD)
COMMITED A revisão mais recente anterior, ou igual a, BASE, na qual o item foi modificado. (svn log –revision COMMITTED path)
PREV A revisão imediatamente anterior à última revisão na qual o item foi modificado. Tecnicamente, isto se resume a COMMITTED-1. (svn log –revision PREV path)
SVN update
É utilizado para atualizar o código fonte local com o código fonte existente no repositório do Subversion. O update pode ser realizado sobre arquivo ou diretórios. Caso feito sobre um diretório, serão atualizados também todos arquivos deste diretório e subdiretórios.
O seguinte comando atualiza o arquivo index.php em bvs-trunk/htdocs:
$ svn update bvs-trunk/htdocs/index.php
O seguinte comando atualiza toda a pasta do projeto:
$ svn update bvs-trunk
SVN add & del
São os comando usados para adicionar e excluir arquivos (respectivamente) no subversion.
$ svn add bvs-trunk/htdocs/info.php
ou
$ svn del bvs-trunk/htdocs/info.php
SVN commit
Quando se modifica arquivo e deseja-se que a moficação seja aplicada também no repositório, é utiliza o comando commit, que envia ao servidor todas as alterações ocorridas no código local. Caso feito sobre um diretório, serão enviados também todos arquivos deste diretório e subdiretórios que tenham alguma modificação, ou que tenha sido adicionado.
O seguinte comando envia o arquivo index.php em bvs-trunk/htdocs:
$ svn ci bvs-trunk/htdocs/index.php
O seguinte comando envia ao servidor todos os arquivos da pasta do projeto:
$ svn ci bvs-trunk -m “Uma mensagem para descrever este commit”
Pode ser preciso autenticação para para se enviar um arquivo para o repositório. Quando este for o caso, pode-se utilizar os parâmetros –username e –password. Assim, o comando acima ficaria da seguinte forma:
$ svn ci bvs-trunk --username=fabio --password=f4b1O -m "Descrição para do commit"
Para os que trabalham com o Trac, é possível ter a interação entre os tickets abertos e as mensagens escritas para o commit. Pode-se, por exemplo, fechar um ticket através de um commit. O exemplo a seguir fecha o ticket de número 3.
$ svn ci bvs-trunk -m "resolve *3"
SVN log
Para viasualizar o log de dos commits realizados asta usar os comandos:
$ svn log bvs-trunk/htdocs/index.php
SVN revert
Nem sempre se quer que as alterções feitas seja enviadas para o repositório. Existem casos que é desejado desfazer as alterações feitas localmente. Para isso se utiliza o comando revert, que como os anteriores, pode ser aplicado sobre arquivos ou pastas.
O seguinte comando reverte as alteraç?s do arquivo index.php em bvs-trunk/htdocs:
$ svn revert bvs-trunk/htdocs/index.php
O seguinte comando reverte as alterações de todos os arquivos da pasta do projeto:
$ svn revert --recursive bvs-trunk
Importante: Não é possível desfazer o revert. Depois de feito, todas as alterações são perdidas!
status
Lista todas as diferenças existentes entre o código fonte local e o existente no repositório. Maiores informações sobre o significado das abreviações presentes no resultado podem ser encontradas digitando o seguinte:
SVN help status
Mostra o estado do arquivo index.php em bvs-trunk/htdocs local, em relação ao servidor:
$ svn status bvs-trunk/htdocs/index.php
Lista o estado de todos arquivos e pastas locais em relação ao servidor:
` $ svn status bvs-trunk`
SVN diff
Exibe as diferenças dos arquivos modificados com os arquivos presente no repositório. Esta ferramenta pode ser usada para criar patches. Isto pode ser feito criando um arquivo contendo diferença de todos arquivos modificados no projeto, da seguinte forma:
$ svn diff htdocs/admin/editor.php > editor.patch
Após esse comando, vai ser gerado um arquivo com as diferenças entre o arquivo editor.php local e o editor.php do repositório. Para este caso, o conteúdo do arquivo gerado é o seguinte:
Index: htdocs/admin/editor/editor.php
— htdocs/admin/editor/editor.php (revisão 3110) +++ htdocs/admin/editor/editor.php (cópia de trabalho) @@ -57,7 +57,7 @@
Este patch pode ser aplicado em outro local que também tenha o código fonte, de preferência versionado e sob mesma revisão, do BVS-Site. A aplicação pode ser feita da seguinte forma:
$ patch -p0 < editor.patch
Visualizar diferenças da copia local com uma revisão especifica:
$ svn diff htdocs/admin/editor.php --revision 10 > editor.patch
SVN propset
Este comando adiciona propriedades a arquivos e pastas versionados, para ajudar a gerenciar melhor os arquivos dentro da cópia local do código fonte.
svn:ignore
Diz ao Subversion não versionar arquivos com esta propriedade.
Faz com que nenhum arquivo adicionado em bases/site/rss seja versionado:
$ svn propset svn:ignore *
$ svn commit .
Retira arquivo bvs-site-conf.php do versionamento:
` $ svn del bvs-trunk/htdocs/bvs-site-conf.php $ svn propset svn:ignore bvs-trunk/htdocs/bvs-site-conf.php $ svn commit bvs-trunk/htdocs`
A propriedade é criada no escopo da pasta. Por isso faz-se commit da pasta e não do arquivo.
svn:mime-type
Esta propriedade é muito útil quando se usa o Trac. A maioria dos projetos da Bireme contém código e documentos escrito com o conjunto de caracteres ISO-8859-1. Quando estes documentos são vizualizados no Trac, acontecem alguns problema com acentos e caracteres especiais, pois o Trac assume que todo documento seja UTF-8 quando algo diferente não for especificado na propriedade svn:mime-type.
Diz ao SVN que o CHANGES.txt é um arquivo texto e com caracteres mapeados no ISO-8859-1.
$ svn propset svn:mime-type "text/plain;charset=iso-8859-1" bvs-trunk/CHANGES.txt
SVN info
Imprime informações dos arquivos locais.
$ svn info path
SVN import
Importa arquivos de um path local para o repositório.
` $ svn import –m “message” local_path svn_path`
SVN export
Exporta a arvore de diretórios.
$ svn export svn_path
Recupera a última versão do repositório sem os arquivos de controle de versão (.svn).
SVN list
Lista diretórios no repositório
$ svn list svn_path
Lista diretórios no repositorio (ls unix)
$ svn list --versobe svn_path
SVN blame
Mostra autor e revisão (annotate, praise e ann).
``
Mostra autor e revisão especificando a revisão.
```
SVN resolved
Remove os arquivos criados pelo repositório na existência de conflito.
svn resolved local_path
Outros sistemas de controle de versão:
Git (http://git-scm.com/) Linus Torvalds
Mercurial (http://www.selenic.com/mercurial/wiki/) Sun using for JDK
Bazaar (http://bazaar-vcs.org/)
Perforce (http://www.perforce.com/)
Monotone (http://www.venge.net/monotone/)
Visual SourceSafe (http://msdn.microsoft.com/en-us/vstudio/aa718670.aspx) Microsoft