BzrSync

Tela Software:
BzrSync
Detalhes de Software:
Versão: 0.2
Data de upload: 11 May 15
Revelador: Marco Pantaleoni
Licença: Livre
Popularidade: 68

Rating: 2.0/5 (Total Votes: 1)

BzrSync é um utilitário para ajudar um desenvolvedor usando Bazaar em várias máquinas. Ele mantém automaticamente repositórios selecionados e ramos sincronizados através das máquinas. Si Bazar é utilizado para a sincronização (com "puxar bzr"), assegurando a consistência em todos os momentos.
Instalação
Para instalar a última versão estável do BzrSync, usando pip:
pip instalar bzrsync
ou usando setuptools:
easy_install bzrsync
Caso contrário, se nem PIP nem setuptools estão disponíveis, é possível fazer o download do pacote fonte, extraí-lo e executar os comandos setup.py habituais (por exemplo, de PyPI.):
python setup.py install
Uso
Vamos supor que você trabalha em três estações de trabalho diferentes, e seus nomes de host são alfa, beta e gama. Você deseja manter seus repositórios Bazaar e ramos sincronizados entre todos os três nós usando BzrSync. BzrSync é feito para ser usado com repositórios compartilhados, por isso, se você não está usando estes, você deve re-organizar as suas filiais para usar repositórios compartilhados. É mais fácil manter todos os repositórios dentro do mesmo diretório. No nosso exemplo, nossos repositórios irá residir em ~ / bzr e seus nomes vão acabar em ".bzr". Em cada repositório compartilhado, no nível superior deve haver um diretório para cada nó. No nosso caso, alfa, beta e gama. Por exemplo, vamos imaginar que temos um repositório chamado "projecto-foo.bzr". Estamos trabalhando em alfa, e criaram um tronco e um recurso de uma filial. Nós vamos ter:
~ / Bzr / project-foo.bzr /
~ / Bzr / project-foo.bzr / alpha
~ / Bzr / project-foo.bzr / alpha / trunk
~ / Bzr / project-foo.bzr / alpha / feature-1
~ / Bzr / project-foo.bzr / beta
~ / Bzr / project-foo.bzr / gama
Vamos supor que temos também um repositório local.bzr nós não queremos para sincronizar, em qualquer direção.
BzrSync precisa de um arquivo de configuração YAML, por padrão ~ / .bazaar / bzrsync.yaml, listando os repositórios e os ramos nós. Neste exemplo, o seu conteúdo irá ser:
# nós remotos
# (Um host pode ser especificado com uma porta opcional como HOST: PORT)
hosts:
- Alfa
- Beta
- Gama
# Onde repositórios especificados com um caminho / padrão relativo estão localizados
root: ~ / bzr
# * Todos os repositórios *
repositórios: "* .bzr"
# repositórios específicos de excluir do 'repositórios'
excluem:
- Local.bzr
# repositórios para exportar para nós remotos
exportação: "* .bzr"
# repositórios específicos excluídos da exportação
export_exclude:
- Local.bzr
# repositórios a sincronizar do controle remoto
sync: "* .bzr"
# repositórios específicos excluídos da sincronização
sync_exclude:
- Local.bzr
Podemos usar exatamente esse mesmo arquivo de configuração em todos os três nós.
BzrSync não vai criar os repositórios compartilhados para você, então antes de prosseguir, fazê-lo agora em todos os nós, lembrando-se de criar também os subdiretórios do nó.
Em seguida, inicie o daemon BzrSync em todos os nós:
alpha $ bzrsync servir
beta $ bzrsync servir
gamma $ bzrsync servir
Agora sincronização projeto-foo.bzr de alfa para beta vamos:
& Nbsp; beta $ bzrsync sync ~ / bzr / project-foo.bzr
Isso vai puxar a beta todos os ramos do ~ / bzr / project-foo.bzr / alpha / em alfa, e todos os ramos de ~ / bzr / project-foo.bzr / gama / na gama. No nosso caso, apenas alfa tem filiais agora, então, na prática, nós vamos chegar a ramos alpha / tronco e alfa / feature-1 a partir de alfa para beta, mantendo-os como alfa / trunk e alfa / feature-1.
Se você quer trabalhar em beta, agora ramificar dos galhos recém-sincronizado com os seus homólogos dentro do beta / subdiretório:
beta $ bzr branch ~ / bzr / project-foo.bzr / alpha / feature-1 ~ / bzr / project-foo.bzr / beta / feature-1
beta $ bzr co ~ / bzr / project-foo.bzr / beta / feature-1 foo-feature-1
beta $ cd foo-feature-1
...
Hack hack corte
...
$ cometer beta
Agora em versão beta, teremos:
~ / Bzr / project-foo.bzr /
~ / Bzr / project-foo.bzr / alpha
~ / Bzr / project-foo.bzr / alpha / trunk
~ / Bzr / project-foo.bzr / alpha / feature-1
~ / Bzr / project-foo.bzr / beta
~ / Bzr / project-foo.bzr / beta / feature-1
~ / Bzr / project-foo.bzr / gama
Quando você terminar de trabalhar em beta, você pode sincronizar a partir de alfa:
& Nbsp; alpha $ bzrsync sync ~ / bzr / project-foo.bzr
e isso vai criar beta / feature-1 em alfa também, que você pode puxar para alpha / característica-1 se não divergiram, ou fundi-lo de outra forma, e começar a trabalhar a partir de alfa novamente.
Por favor, veja o exemplo bzrsync.yaml arquivo para um exemplo mais completo, que inclui também conjuntos ramo

Recursos :.

  • qualquer número de máquinas são suportadas
  • consistência é garantida em todos os momentos

Requisitos :

  • Python

Programas semelhantes

Apache Subversion
Apache Subversion

16 Aug 18

octogit
octogit

20 Feb 15

gitube
gitube

14 Apr 15

Hostery
Hostery

20 Feb 15

Comentário para BzrSync

Comentários não encontrado
Adicionar comentário
Ligue imagens!