Clonando repositórios Subversion remotos com svnsync

Tags: , , , — June 1, 2008 @ 1:00 pm

Clonar ou criar um mirror de um repositório svn pode ser um problema caso o usuário não tenha acesso ao servidor onde o repositório é hospedado, uma vez que o comando svnadmin (que faz o dump e load) trabalha apenas com o caminho local para o servidor.

Como parte integrante do pacote Subversion desde a versão 1.4, o svncync foi desenvolvido para facilitar e automatizar o trabalho de criar cópias ou mirrors de repositórios svn, precisando apenas de acesso de leitura ao repositório de origem.

O svnsync trabalha com URLs, assim não é necessário acesso ao sistema de arquivos do servidor de origem nem do destino, e apenas é necessário acesso de escrita (para commits) no servidor destino, e de um hook script que pode ser facilmente criado. Veja os passos a seguir:

# crie um novo repositorio:
svnadmin create /CAMINHO/DESTINO
# crie um hook script pre-commit-hook vazio:
echo '#!/bin/bash' > /CAMINHO/DESTINO/hooks/pre-revprop-change
# torne o script executável:
chmod +x /CAMINHO/DESTINO/hooks/pre-revprop-change

Note que, se estiver contratando repositórios Subversion de uma empresa de hospedagem e não possuir acesso ao sistema de arquivos, basta solicitar ao seu suporte para criar o hook script como acima em seu novo repositório.

Assim que o repositório destino estiver criado, basta inicializar a conexão entre o repositório origem e destino, e sincronizar:

# inicializar a conexão dos repositorios:
svnsync init file:///CAMINHO/DESTINO url://ORIGEM
# sincronizar:
svnsync sync file:///CAMINHO/DESTINO

Sendo url://ORIGEM a url de acesso do repositório o qual se deseja clonar.

Como pode ver, o svnsync, trabalha com URLs, assim é possível utilizá-lo com quaisquer dois repositórios, local ou remoto, e inclusive com qualquer protocolo (file://, http://, svn://, svn+ssh://). No exemplo utilizei file:// para demonstrar como trataria para clonar um repositório remoto em um local, mas o repositório destino também pode ser remoto, sem problemas, desde que haja permissão de escrita e o hook script pre-revprop-change.

Fonte: http://www.thoughtspark.org/node/10

Se você gostou deste artigo, inscreva-se em meu RSS feed!

BrowserShots - Teste o seu design web em diferentes navegadores

Tags: , , , — March 18, 2008 @ 10:42 pm

Você desenvolve páginas web em Linux e não tem como testá-las no Internet Explorer ou Safari? Desenvolve no Windows mas quer ver como ficam as páginas no Konqueror?

Para os Web Designers que não dispõem de, pelo menos, um Mac e um PC com Dual Boot (Linux + Windows) em casa, o website BrowserShots, pode salvar vidas.

O serviço renderiza as páginas solicitadas em vários navegadores nas 3 principais plataformas, contento inclusive opções para limitar a resolução, ativar/desativar JavaScripts, Flash, etc, e depois exibe os screenshots por um período de tempo. Veja os exemplos do meu blog:

Firefox 3.0 no Ubuntu 7.10 Firefox 3.0 no Ubuntu 7.10

MSIE 8.0 no Windows XP MSIE 8.0 no Windows XP

Safari 3.1 no Mac OS X 10.5

Se alguém tiver curiosidade sobre os resultados do Acid3 em vários navegadores esta é uma boa oportunidade, no browsershots deve haver sempre alguns testes do acid3.

É uma pena que não é possivel testar o comportamento de animações Javascript e Ajax, mas apenas exibir as páginas renderizadas já é uma grande ajuda. Quem sabe o projeto não evolui para apresentar novos recursos daqui a algum tempo? Screencasts seriam bem-vindos. :)

Fonte: meiobit

Se você gostou deste artigo, inscreva-se em meu RSS feed!