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

pedrotuga

as minhas dúvidas sobre o subversion

11 mensagens neste tópico

Isto até é embaraçoso, mas só agora é que decidi gerir o meu código fonte como deve ser e é a primeira vez que estou ( vou ) usar um sistema de controlo de versões.

Ainda nao percebi uma coisa:

eu quero usar o mesmo repositório para vários projectos, isto não é aconselhado? Não posso fazer checkout só de algumas pastas?

O que eu tinha pensado era: criava um repositorio, e depois na raís punha uma pasta por projecto. Isto porque, apesar de alguns dos meus projectos serem de código aberto, não os quero disponibilizar via subversion... talvez mais tarde em repositórios próprios para esses programas.

Não é aconselhado um repositório com uma pasta para cada projecto?

E as tres famosas pastas: tags, trunks, brunches.... deve estar no interior de cada uma dessas ou na raíz?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mais ou menos...

Basicamente tenho um directório no disco que é root do servidor subversion e sempre que fizer svn://localhost/ aponta para esse directório. Cada pasta lá dentro é pasta de cada projecto que poderá ser acedido por svn;//localhost/nome_projecto.

Mas a meu ver, isto funciona assim:

No directório no disco (root), tu crias lá as pastas para cada projecto e depois fazes "create repository here" (se estás a usar o TortoiseSVN no Windows) e depois tens de configurar o svnserve.conf desse repositório. Para que possas responder correctamente através do svn://

Relativamente às famosas pastas tags, trunk e branches, são criadas manualmente no servidor svn e não no disco local.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quer dizer... entao criaste um repositório para cada projecto... certo?

Eu quero alojar isto num computador remoto, por isso é que pensei  que seria melhor usar um só repositório, para o caso de queres transportar os meus projectos para trás e para a frente todos de uma vez.

Já agora... o uso dessa estrutura de pastas... faclita a vida em alguma coisa? já ouvi dizer que a maior parte do pessoal caga para isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A forma correcta é criar um repositório para cada projecto, para poderes tirar partido completo de todas as funcionalidades do SVN.

Imagina que estás a trabalhar em dois projectos ao mesmo tempo, fazes update ao projecto 1 e depois ao projecto 2 ou seja, duas revisões no repositório. Depois imagina que queres voltar atrás e recuperar o código do projecto 1... vais perder o trabalho do projecto 2 que enviaste entretanto para o repositório.

Isto é um bocado confuso mas acho que me fiz entender. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

MAs tu podes criar um repositório por trabalho e transportar tudo de uma só vez sem problemas. A ideia do svn é mesmo essa. Tens os repositorios com os trabalhos, quando acabares as modificações, fazes commit e pronto. Quando tiveres num sitio diferente, é só fazeres um update à versão local que tiveres e ficas actualizado. Não precisas de andar manualmente com uma pen (por exemplo) a copiar os projectos de um lado po outro. Se fizesses isso, nem tinha lógica usares subversion.

A estrutura, depende de ti... Eu no meu projecto (ainda só uso um no subversion) crirei as 3 pastas, mas basicamente só uso o trunk... Mas quem sabe se no futuro não dará jeito? se eu quiser a partir do meu projecto fazer umas modificações drásticas e manter o trabalho nos dois até um dia decidir junta-los? Claro que isto é mais pratico em projectos grandes como o firefox por exemplo. Mas um dia pode ser útil, mas tu é que sabes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que estão a confundir algumas coisas, ou então não percebi o que disseram...

Um repositório para vários projectos é errado, não quer dizer que não mantenha o teu código, mas chama-se repositório à pasta que, supostamente, tem o projecto. Uma coisa é um repositório, outra uma instalação do SVN. Um servidor de SVN terá tantos repositórios quanto projectos, são unidades contentoras.

A organização interna do repositório depende do que pretendes. Segundo a filosofia do SVN, e a sua documentação, o correcto será o repositório conter as 3 pastas de trunk, branches e tags. Dentro da trunk a organização é tua e varia conforme o tipo de projecto, a organização das outras depende da trunk visto que a outras existem apenas baseadas no conteúdo da trunk.

O servidor SVN é local, isto é está na tua máquina não é acessível do exterior, ou está publicado algures? Sendo local não tens problemas com o acesso, sendo público só terás de definir passwords para acesso ao servidor. Um utilizador SVN é um utilizador do sistema. Por exemplo, tomando uma instalação SVN em Linux, aconselho em Windows apenas para uso pessoal, para que tenhas vários programadores terás de ter vários utilizadores do sistema. Desta forma consegues um controlo bastante bom dos utilizadores que têm acesso, que tipo de acesso possuem, em que repositórios podem escrever, ou a que repositórios estão associados.

Se estiveres a usar um qualquer serviço de alojamento de projectos então de certeza que o sistema terá forma de controlares o acesso ao servidor.

O assembla e o google project hosting sei que têm, outros alojamentos também terão.

Ok, agora li melhor a parte do servidor remoto. Podes sempre fazer um backup do servidor, com todos os repositórios incluidos, e transportá-lo, mas a ideia de usar um servidor SVN é mesmo a de não teres de transportar seja o que for para onde for. Isto é, o servidor está acessível pela Internet, logo onde tiveres Internet tens acesso ao servidor, mas memso que não tenhas, terás sempre, pelo menos, uma cópia da última versão no teu PC de trabalho. Tu não moves o repositório, na verdade, além de um backup, não terás necessidade nenhuma de mexer no repositório nem de aceder ao servidor. Farás tudo através do cliente SVN.

Quanto à estrutura de pastas, para mim, sim facilita. Dado que uso muito a metodologia XP e estou sempre a criar spikes e testes a estrutura trunk, brances e tags dá imenso jeito.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok, eu nao me tinha explixacado bem. Quando falei em mover o repositorio estava a referir-me à eventualidade de ter que mudar de alojamento.

Ok... um projecto por pasta. Obrigado a voces os 3. Cada um falou de diferentes aspectos importantes, team work :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, estou a descarrilar a thread, e já imagino o kyu a abanar a cabeça :), mas que alojamento estás a pensar usar, se puderes dizer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ops... pensave que tinha respondido a esta mensagem.

A abanar a cabeça porque?

eu uso a dreamhost.

Epa... esta porra funcionar no windows é mentira.

Fiz checkout a uns projectos que aí andam e agora nao consigo apagar a minha pasta local que tem a minha working copy.

Tambem nao consigo fazer comit... o tortoise não conclui nenhuma operação, o que quer que seja que eu faça transfere uns dados e depois fica parado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Oi, como disse que disse? :thumbsup:

Estás a tentar aceder ao servidor por http ou por https? E fica parado de que forma?

A integração com o windows shell dá sempre no mesmo, se o processo não libertar a pasta então não a podes apagar, tenta para o processo do tortoise e voltar a corre-lo, embora não tenha a certeza se funciona, senão, removes no próximo reboot :D

O tortoise deve dar um erro, bastante sonoro por omissão :), e deve mostrar o que falhou.

Existem algums problemas com trafego HTTP, parece que alguns servidores, tipo o servidor de proxy squid que não lidam bem com os cabeçalhos das mensagens do SVN e destroem informação, normalmente um servidor SVN tem sempre um acesso por HTTPS.

A dreamhost permite SVN? Tenho de ver isso....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois... nem assm dá....  o que acontece é deveras bizarro.. parei o subversion apaguei uma pasta que era um checkout que eu tinha feito ao repositorio do ruby on rails.

Estou a tentar apagar a pasta, e aparece aqui a caixa de dialogo do windows a dizer "deleting" mas nunca apaga nada e fica ad eternum a dizer "delting"

É por estas porras que nao gramo o windows.

yaps.. a dreamhost oferece subversion com possibilidade de crair repositorios co 1-click

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