É este o passo-a-passo correto e organização para criar um repo SVN com vários projetos e fornecedores?
-
06-07-2019 - |
Pergunta
Eu li um pouco do feijão vermelho Software SVN Livro, e algumas das perguntas aqui no SO, mas eu quero ter certeza que eu vou sobre isso da maneira certa na primeira vez passo-a -Step antes de começar a usá-lo. É este correto?
- Instale SVN.
-
Criar repositório SVN em / usr / / svn local. Diretório estrutura esta aparência:
-- conf -- db -- format -- hooks -- locks -- README.txt
-
Crie pastas através de linha de comando para a organização repositório (incluindo projetos e fornecedores).
-- conf -- db -- format -- hooks -- locks -- projects -- project_name -- vendor -- trunk -- branches -- tags -- project_name -- vendor -- trunk -- branches -- tags -- README.txt
-
código de fornecedor Caixa para a pasta fornecedor sob o nome de projeto correto.
- código Export fornecedor no tronco sob o nome de projeto correto (sem merge necessário, como eu não tenho arquivos tronco do projeto até o momento).
- Criar usuários / permissões em / svnroot / conf / passwd e /svnroot/conf/svnserve.conf.
- Certifique-se de que o svnserve está em execução, e em meu cliente SVN local (TortoiseSVN), check-out do tronco para o projeto que eu preciso.
Eu não preciso para servir este por URL público, por isso não estou a configuração para o Apache. O servidor não está em nossa rede, mas é um CentOS dedicados caixa alugamos. Obrigado por todos os pensamentos e conselhos.
EDIT:
Acho que estou confuso porque eu não tenho o código ou um projeto para começar, por isso estou começando do zero a partir do código do fornecedor. Eu preciso criar uma estrutura de diretórios em algum lugar no servidor que inclui o meu project_name w / vendedor, tronco, ramos e rótulos subpastas, importação que no meu repo, e depois importar o código do fornecedor para a pasta de fornecedor? A ideia é que posso obter atualizações do fornecedor, e em seguida, mesclar essas atualizações com quaisquer alterações que fiz ao meu tronco.
Solução
Crie pastas através de linha de comando para a organização repositório (incluindo projetos e fornecedores).
Você quer dizer criar a estrutura do repositório, fazendo diretórios dentro do diretório subversão intallation? Isso é muito errado.
Você tem que criar as pastas necessárias através do comando svn mkdir
e não pelo sistema de arquivos.
Em /usr/local/svn
você tem a implementação física do repositório Subversion, e você deve acessar somente através de um cliente, e nunca tocá-lo "à mão".
Por exemplo, usando o esquema file: // URL
svn mkdir file:///usr/local/svn/projects -m "Parent dir for projects created"
Outras dicas
Você parece ter principalmente a idéia certa, mas sua terminologia é um pouco errado. Isso realmente vai confundir as pessoas SVN, desde que você está usando palavras que têm significados específicos no contexto do SVN. Para expandir o que Davide disse:
2) criar o seu repositório, fazendo algo parecido svnadmin create /usr/local/svn
.
3) criar suas pastas. Você não precisa (ou quer) as partes da sua lista que não estão abaixo projects/
. Esses outros diretórios são o SVN usa para manter o controle de revisões, eles não estão realmente no repositório. Se você criar um em algum lugar hierarquia de diretórios em seu sistema que contém a sub project_name/
, você pode então executar svn import
nele tantas vezes quanto quiser, uma vez para cada projeto (dar um nome diferente para o destino de cada vez). Que irá criar a estrutura de diretório.
4) Em vez de "checkout", eu acho que você quer dizer quer "importar" ou "check-in" (geralmente chamado de "comprometer" em SVN linguagem, mas "check-in" será entendido). Importando irá adicionar os arquivos do fornecedor para o repositório. Caixa significa "criar uma cópia local deste diretório versionado para mim trabalhar com" conhecida como uma cópia de trabalho. Todo desenvolvedor em sua equipe deve ter a sua própria cópia de trabalho. Depois de um desenvolvedor faz alterações em sua cópia de trabalho, então eles svn commit
-los que envia as alterações para o repositório. Os outros desenvolvedores na equipe será executado svn update
para obter as alterações do repositório para suas próprias cópias de trabalho.
5) Eu não li o livro SVN ultimamente, mas eu acho que instrui a copiar a versão do ramo de fornecedor para o tronco, e não exportá-lo. Exportando no SVN termos meios para un-versão da árvore de diretórios, que não é claramente o que você quer.
Você pode encontrar as coisas mais fáceis se você fizer as etapas 6 e 7 logo após o passo 2, desde então você pode usar o protocolo svn://
para acessar o repositório para as etapas restantes em vez de file://
como sugerido por Davide, que só funciona no local, máquina.