Controle de versão sem instalação do servidor

3

Eu tenho acesso ssh a muitos servidores onde não tenho privilégios de root. Você conhece algum utilitário de controle de versão que possa trabalhar com repositórios ssh remotos que não instalam nada no servidor remoto?

Eu tentei uma pasta de repositório git simples, mas parece exigir algum script / binário / instalação no servidor. Eu também não gosto de git porque não é muito portátil. As versões portáteis são feitas de muitos arquivos

    
por SystematicFrank 03.05.2010 / 09:57

4 respostas

3

Fossil é um sistema de controle de fonte distribuída que compila no Linux , Windows ou Mac OS X para um único binário. Repositórios vêm com um rastreador de bugs integrado e wiki automaticamente, e o único executável pode funcionar como um servidor de hospedagem para que o repositório possa ser acessado remotamente.

Fossil é um segundo projeto desenvolvido por D. Richard Hipp, o criador original do SQLite (o Fossil usa o SQLite como armazenamento de apoio, portanto todo o repositório vive em um único arquivo portátil).

    
por 05.06.2010 / 07:19
2

Parece que o Bazaar pode usar um arquivo baseado em SFTP servidor digitdumb ” (Bazaar não é necessário no lado do servidor) para acesso de leitura e gravação.

Nota: eu nunca usei o Bazaar, eu só coloquei na sua documentação.

    
por 05.06.2010 / 10:20
1

Como Chris Johnsen aponta, o Bazaar pode fazer o upload dos dados do repositório para um servidor usando diferentes protocolos, SFTP entre eles.

Na verdade, a maneira como isso funciona é a seguinte: você cria um repositório / filial em sua máquina local e no Bazar de usuário para rastrear todas as alterações. O Bazaar armazena todas as suas informações em um diretório chamado ".bzr" no diretório raiz dessa ramificação. Você deve fazer o upload do repositório / filial para o seu servidor usando o seu acesso SSH. Então, quaisquer alterações posteriores cometidas no ramo são automaticamente enviadas para o servidor.

Para fazer isso, você deve seguir estas etapas:

  1. No diretório em que os arquivos cujas alterações você deseja acompanhar, crie uma nova ramificação.

    bzr init
    
  2. Adicione os arquivos que você deseja rastrear na ramificação atual, para que eles sejam "controlados pela versão" pelo Bazaar.

    bzr add file1 file2 directory1 directory2 ...
    
  3. Faça seu primeiro commit no branch. Este primeiro commit é necessário antes que você possa fazer o upload da filial para o seu servidor. Você deve ler a documentação ou usar a ajuda do Bazaar para aprender como usar o comando "commit" (e como inserir mensagens de commit).

    bzr commit
    
  4. Carregue a ramificação para o seu servidor usando o seu acesso SSH. O Bazaar solicitará automaticamente sua senha. Como alternativa, você pode configurar uma chave RSA pública para evitar a necessidade de inserir sua senha todas as vezes.

    bzr push sftp://user@domain:port/branch_location_on_server
    

    Você pode omitir a porta se o servidor SSH estiver escutando na porta 21 (que é o padrão). Se você quiser que a ramificação seja localizada em seu diretório home, você deve especificar o branch_location_on_server começando com "~ /".

Qualquer último commit que você fizer será enviado automaticamente para esse local no servidor.

Além disso, você também pode fazer "commit" quando sua máquina não estiver conectada ao servidor passando a opção "--local" para o comando "commit", ou desvinculando e ligando o ramo ( bzr unbind / bzr bind )

Se você deseja fazer o download desse ramo, pode fazer um "checkout":

bzr co sftp://user@domain:port/branch_location_on_server
    
por 05.06.2010 / 12:54
0

use o rsync (ah, espere que você precise do rsync no servidor também :)) para armazenar os repositórios do mercurial / git / bzr da sua máquina local nos servidores. você então tem que baixar o repositório inteiro ao lado da sua cópia de trabalho e então você pode fazer uma mesclagem.

para ter algo de útil eu recomendaria instalar o mercurial no servidor em sua casa, talvez essa instalação local seja menos "complexa" do que a instalação do git (que você também pode instalar em sua casa btw).

    
por 03.05.2010 / 10:11