• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ricardoantunes

Alternativa ao Microsoft SourceSafe

14 mensagens neste tópico

Boas tardes.

Tenho o Visual Studio 2008 Professional e infelizmente este não vêm com o MSS. Existe alguma alternativa viável grátis que conheçam?

Cumps

Ricardo Antunes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ou então passas para o Visual Studio Team System, embora não fique barato :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isto já está a funcionar. Gostava era que funcionasse "online". Tenho uma solution com 8 projectos diferentes. Eu faço uma alteração a um e faço o commit. Mas o outro PC que também vai "ver" o código não recebe nenhuma informação que não têm a ultima versão do código.. Fiz-me entender?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nem por isso. SVN, como a maioria dos sistemas de controlo de versões, não avisa automaticamente o utilizador que este precisa actualizar o código, isto é, não existe nada no SVN que esteja sempre "à escuta" de alterações no servidor central para avisar o utilizador.

No caso do SVN, isso nem faz sentido ou é necessário, o segundo programador pode trabalhar descansado e quando for enviar as suas alterações, se for necessário, é avisado que tem de actualizar o código, nessa altura basta fazer um update.

Suponho que tenhas o repositório num servidor acessível por todos os programadores certo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim tenho. Eu já trabalhei com o SourceSafe e ao fazer "checkOut" os outros ficavam avisados que alguém estava a fazer alterações a determinado projecto/form/etc. no SVN não é possível ter isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não, usando SVN isso não é possível, nem faz parte da filosofia do sistema.

Fazer checkout não significa que alguém está a modificar alguma coisa, apenas que alguém fez download do projecto, o mesmo para o comando update que te actualiza o código para a última versão.

Se a cada checkout alguém recebesse avisos, imagina o que acontecia em projectos open source com milhares de utilizadores a fazer checkout, uns por curiosidade outros por querem participar, outros por qualquer razão que seja, não havia servidor que aguentasse só a transmitir mensagens  :(

Avisos automáticos, usando apenas as funcionalidades do SVN não existe, só és avisado caso seja necessário. Não conheço cliente SVN nenhum que possua essa funcionalidade. Até porque, um checkout não significa nada, só quando fizeres commit é que são mesmo feitas alterações no código do servidor, até lá, tudo o que fizeres é na tua cópia local e pode nem implicar alterações nos outros programadores.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim tenho. Eu já trabalhei com o SourceSafe e ao fazer "checkOut" os outros ficavam avisados que alguém estava a fazer alterações a determinado projecto/form/etc. no SVN não é possível ter isso?

Ricardo, o VSS não avisa os outros utilizadores de que alguém está a mexer no ficheiro, é possível trabalhar com o computador desligado da rede.

O que o VSS faz é checkout exclusivo (e isso o Svn creio que também faz quando parametrizado para tal) ou seja, se alguém fizer checkout para trabalhar no ficheiro A, se tu fores tentar fazer checkout para trabalhar no ficheiro A, não consegues porque o ficheiro já se encontra checkout para outra pessoa.

No Svn a filosofia de funcionamento é diferente, ninguém se tem de preocupar em fazer checkout, simplesmente trabalha em todos os ficheiros que necessita e depois faz checkin (ou revert) do que interessa. Caso dois utilizadores tenham mexido no mesmo ficheiro, é necessário fazer um update primeiro para fundir as alterações feitas por ambos. O Svn sabe juntar as alterações de ambos de forma automática. Caso o Svn não tenha conseguido fundir as alterações de forma automática (percentagem residual da utilização do Svn) ficam marcadas as diferenças, são disponibilizadas todas as versões dos ficheiros e há que resolver o conflito manualmente. O que na realidade não é nada de especial pois é bastante simples, basta apagar o que está a mais no ficheiro.

Se queres saber mais sobre o Svn, lê este livro gratuito: http://svnbook.red-bean.com/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já tenho implementado e aparentemente funciona muito bem! Já tentei fazer alterações ao mesmo ficheiro em 2 computadores diferentes e depois fazer o commit e ele fez o merge lindamente.

Funciona! :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tipicamente o SVN terá problemas em edições do mesmo ficheiro, na mesma linha, onde exista a substituição de um código por outro. Por exemplo, se tu apagaste o código da linha 5 e substituíste por outro, e um outro programador também apagou o código e substituiu, então nesse caso o SVN não base qual das duas alterações é para juntar, afinal são alterações concorrentes.

Mas isso são casos raros se estivermos a falar apenas de código e ficheiros de texto, eventualmente pode existir algum ficheiro que possa provocar conflitos pela natureza do ficheiro, estou a lembrar-me do XML usado pelo módulo de UML do NetBeans que estava sempre a causar problemas.

Com Visual Studio nunca encontrei um ficheiro que fosse usado pela tecnologia que desse algum problema, uso SVN para todos os projectos que faço, desde ASP.net, C#, C++ ou VB.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, se um monitor de commits for realmente importante, podes usar o que existe no site do tortoiseSVN, http://tortoisesvn.net/, podes dar uma vista de olhos pelas ferramentas extra que existem aí, são todas em torno de SVN mas completam o trotoiseSVN com funcionalidades que não são base dos clientes SVN.

Ferramentas desde o commit monitor até uma extensão para o IE que permite navegar em repositórios acedidos por svnserve tal como acedemos aos servidos por Apache. Encontram-se boas ferramentas, é só ver a lista :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Também tens um artigo em 2 partes sobre SVN nos últimos números da Programar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora