Como faço para criar uma filial no SVN?

votos
570

Como faço para criar uma filial no SVN?

Publicado 05/08/2008 em 10:25
fonte usuário
Em outras línguas...                            


9 respostas

votos
569

Subversion torna mais fácil (alguns acham muito fácil) para criar um novo ramo usando o comando svn copy.

$ svn copy svn+ssh://host.example.com/repos/project/trunk \
           svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH \
      -m "Creating a branch of project"
Respondeu 05/08/2008 em 10:25
fonte usuário

votos
315

Ramificação no Subversion é facilitada por uma instalação de cópia muito muito leve e eficiente.

Ramificação e marcação são efetivamente o mesmo. Basta copiar a pasta inteira no repositório para outro lugar no repositório usando o svn copycomando.

Basicamente, isto significa que é por convenção o que copiar uma pasta significa - quer se trate de um backup, tag, filial ou whater. Dependendo de como você quer pensar sobre as coisas (normalmente, dependendo de qual ferramenta de SCM você usou no passado) que você precisa para configurar uma estrutura de pastas dentro do seu repositório para apoiar o seu estilo.

Estilos mais comuns são para ter um monte de pastas na parte superior do seu repositório chamado tags, branches, trunk, etc. - que lhe permite copiar todo o seu trunk(ou subconjuntos) nos tagse / ou branchespastas. Se você tiver mais de um projeto, você pode querer replicar este tipo de estrutura no âmbito de cada projeto:

Pode demorar um pouco para se acostumar com o conceito - mas funciona - apenas certifique-se (e sua equipe) são claras sobre as convenções que você vai usar. É também uma boa idéia ter uma boa convenção de nomenclatura - algo que diz-lhe porque o ramo / tag foi feita e se ainda é apropriado - estudar formas de arquivamento ramos que estão obsoletos.

Respondeu 05/08/2008 em 14:40
fonte usuário

votos
25

Se você é repo está disponível via https, você pode usar este comando para ramo ...

svn copy https://host.example.com/repos/project/trunk \
       https://host.example.com/repos/project/branches/branch-name \
  -m "Creating a branch of project"
Respondeu 10/02/2016 em 20:36
fonte usuário

votos
24
svn cp /trunk/ /branch/NEW_Branch

Se você tem algumas mudanças locais em tronco, em seguida, usar Rsyncpara sincronizar mudanças

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
Respondeu 03/09/2013 em 10:14
fonte usuário

votos
14

Normalmente você copiá-lo para svn + ssh: //host.example.com/repos/project/branches/mybranch de modo que você pode manter diversas filiais no repositório, mas sua sintaxe é válido.

Aqui estão alguns conselhos sobre como configurar o layout do repositório .

Respondeu 05/08/2008 em 13:40
fonte usuário

votos
12

Suponha que você queira criar uma filial de um nome de tronco (como "TEST"), em seguida, usar:

svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
Respondeu 23/07/2013 em 10:51
fonte usuário

votos
11

Se você ainda está pensando em fundir o seu ramo, eu sugiro que você olhar para isso:

Svnmerge.py

Ouço Subversion 1,5 constrói mais do rastreamento de integração, eu não tenho experiência com isso. Meu projeto é em 1.4.x e svnmerge.py é uma poupança de vida!

Respondeu 05/08/2008 em 13:46
fonte usuário

votos
10

Top dica para os novos usuários do SVN; isso pode ajudar um pouco com a obtenção das URLs corretas rapidamente.

Execute svn infopara exibir informações úteis sobre o atual ramo com check-out.

O URL deve (se você executar svn na pasta raiz) dar-lhe a URL que você precisa para copiar.

Também para mudar para o ramo recentemente criado, use o svn switchcomando:

svn switch http://my.repo.url/myrepo/branches/newBranchName
Respondeu 28/03/2014 em 12:30
fonte usuário

votos
5
  • Crie uma nova pasta fora do seu projeto atual. Você pode dar qualquer nome. (Exemplo: Você tem um check-out para um projeto chamado "personalização" E tem muitos projetos, como "Projeto1", "Projeto2" .... E você quiser criar um ramo da "Project1" Então, primeiro abra o ".. personalização", clique direito e criar uma nova pasta e dar-lhe um nome, 'Project1Branch').
  • clique direito em "Myproject1" .... TortoiseSVN -> Ramo / Tag.
  • Escolha cópia de trabalho.
  • Abrir navegador .... Apenas direito de paralelo em "To URL".
  • Escolha personalização ..... clique direito em seguida, Adicionar pasta. e atravessar a pasta que você criou. Aqui está "Project1Branch". Agora clik no botão OK para adicionar.
  • Tome check-out deste novo banch.
  • Mais uma vez ir ao seu projeto que ramo que deseja criar. Botão direito do mouse TorotoiseSVN -> ramo / etiqueta. Em seguida, selecione a cópia de trabalho. E você pode dar o URL como seu nome de ramo. como {o seu endereço de IP / svn / AAAA / Personalização / Project1Branch}. E você pode definir o nome no URL para que ele irá criar a pasta apenas com este nome. Como {O seu endereço de IP / svn / AAAA / Personalização / Project1Branch / MyProject1Branch}.
  • Pressione o botão OK. Agora você pode ver os logs em ... a sua cópia de trabalho será armazenado em seu ramo.
  • Agora você pode ter um check-out ... e deixá-lo apreciar o seu trabalho. :)
Respondeu 05/02/2014 em 11:24
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more