Como um aluno móvel pode usar efetivamente o Dropbox com um sistema de controle de origem?

StackOverflow https://stackoverflow.com/questions/2096476

  •  21-09-2019
  •  | 
  •  

Pergunta

Consegui um laptop em preparação para o próximo semestre, o que me fará fazer um curso de programação universitário enquanto trabalhava em período integral. Obviamente, usarei um sistema de controle de origem (provavelmente subversão) e tive a idéia de criar meus repositórios na minha pasta Dropbox, o que me permitiria verificar e trabalhar no código localmente usando meu laptop ou meu desktop (ou, De fato, qualquer outro computador que possa acessar a Internet) e, em seguida, comprometa -o de volta ao repositório compartilhado do Dropbox.

  • Alguma armadilha ou razões pelas quais essa não é uma boa maneira de atingir meu objetivo? (Vamos supor que eu possa evitar corromper o repositório SVN fazendo algo estúpido.)
  • Alguma vantagem clara de seguir uma solução de hospedagem na web que superaria as vantagens do Dropbox (a saber é gratuito e já configurado em minhas máquinas)?
  • Alguma outra estratégia para compartilhar para trabalhar no código de vários locais?

Observação: Não pretendo compartilhar a pasta Dropbox com outras pessoas, pois percebo que várias pessoas acessando um repositório via file:// é uma má ideia. Minha pergunta pertence apenas a um usuário individual.

Foi útil?

Solução

Enquanto à primeira vista isso parece uma má idéia (basicamente colocando dois sistemas diferentes de controle de revisão um no outro com diferentes fluxos de trabalho), há uma maneira que faria sentido para você assumir que você é o único desenvolvedor.

(Como nota lateral, o que o Dropbox oferece é o backup offline de seus dados e um servidor para sincronizar. Se você tentar usar o SVN por conta própria, terá que configurar sua máquina para permitir o acesso remotamente. Pode ou não ser um intervalo para você, dependendo do seu nível de experiência em tarefas do tipo Sysadmin.)

O que você poderia fazer é criar um repositório para um determinado projeto em sua unidade de caixa de dropbox. Então, ao verificar uma cópia de trabalho, crie -a fora da pasta Dropbox, acessando seu repo usando o file: protocolo. Dessa forma, o repositório permanece sincronizado em todas as máquinas, mas cada máquina possui uma pasta de trabalho separada, permitindo que você trabalhe em uma ramificação diferente em uma máquina do que outra, se desejar, ou mantendo o código não comprometido sem ser propagado para outra máquina. Onde isso quebra é se várias pessoas estão acessando o repo por meio do file: Protocolo - Isso não é recomendado devido a possíveis condições de corrida.

Observação: Esta solução permite que você continue a se comprometer mesmo quando offline, como outros DVCs. Mas observe que fazer isso e depois cometer offline em outra máquina antes de permitir que os repositórios sincronizem pode ser desastroso! É extremamente importante permitir que os repositórios sincronizem depois de trabalhar offline antes de fazer uma confirmação em outra máquina.

Outras dicas

Eu sugeriria o uso de um DVC em vez de subversão com o Dropbox. O motivo é que é possível produzir um conflito de mesclagem com o Dropbox alterando o mesmo arquivo para máquinas ao mesmo tempo com conectividade limitada / sem rede. Se você conseguir atrapalhar seu repositório de subversão como esse, será difícil corrigir o repositório, enquanto que com os sistemas Popoular DVCS, você pode pelo menos destruir o repositório quebrado e clonar uma versão local de volta ao compartilhamento do Dropbox.

Percebi ao escrever o acima, você não menciona se está usando mais de um computador com a mesma conta Dropbox, para que o acima não se aplique se você estiver usando sua conta Dropbox com apenas um computador (acho que pode Se você faz algo realmente bobo / estranho).

Eu usaria Git e Github. Então você tem um controle de origem e pode acessá -lo facilmente em ambos os lugares.

Ou ainda mais ideal seria configurar seu próprio servidor para hospedar o repo SVN ou GIT, mas isso obviamente nem sempre é uma opção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top