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

Sign in to follow this  
ricardoantunes

Alternativa ao Microsoft SourceSafe

Recommended Posts

ricardoantunes

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

Share this post


Link to post
Share on other sites
ricardoantunes

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?

Share this post


Link to post
Share on other sites
Knitter

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?

Share this post


Link to post
Share on other sites
ricardoantunes

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?

Share this post


Link to post
Share on other sites
Knitter

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.

Share this post


Link to post
Share on other sites
M6

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/


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
ricardoantunes

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! :(

Share this post


Link to post
Share on other sites
Knitter

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.

Share this post


Link to post
Share on other sites
Knitter

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.