Pergunta

Estou orientando o grupo a programação de uma equipe de robótica do ensino médio. Gostaria de configurar um repositório de controle de origem para evitar a confusão de copiar manualmente diretórios para partilha / backups e fundindo estes com a mão. O local de construção geralmente não tem acesso à rede, então isso me levou a sistemas de controle de versão distribuído (DVCS), que eu não estou familiarizado com.

Os maiores requisitos são os seguintes:

  1. Funciona em Windows XP e Vista. (Absoluto must)
  2. As alterações podem ser cometidos localmente. (Parece ser o caso com todas das DVCS)
  3. Repositórios de várias máquinas podem ser incorporadas sem acesso à rede. (Possivelmente através do armazenamento do repositório em uma unidade USB e trocar a unidade para outra máquina, em seguida, a fusão a partir daí)

Ele também deve ser fácil de aprender e usar, de preferência através de uma interface gráfica do usuário, como eu estou trabalhando com os alunos do ensino médio que nunca usaram um sistema de controle de versão.

Todas as sugestões quanto ao que DVCS se encaixa este o melhor.

EDIT:

Obrigado pelas respostas. Mercurial parece muito bom, mas ele suporta repositórios na concentração de um diretório para outro, ou eu tenho que configurar uma rede local para mesclar através?

Foi útil?

Solução

Mercurial é muito fácil de usar no Windows e Linux. TortoiseHg é uma interface gráfica front-end para Windows que integra explorador; Funciona bem. Ambos são Open Source. É meu entendimento que o uso Git no Windows é menos simples.

Obrigado pelas respostas. Mercurial parece muito bom, mas ele suporta que se fundem de um repositórios diretório para outro, ou eu tenho que configurar uma rede local para merge do outro lado?

Mercurial / TortoiseHg vai fazer isso (e mais), assim como todas as outras ferramentas de controle de versão distribuído (tanto quanto eu sei). Eu acredito que ele vai resolver o seu problema. É um DVCS e, com TortoiseHg, é fácil de usar no Windows. Outras ferramentas de controle de versão distribuído provavelmente irá funcionar também (bzr por exemplo), mas eu tenho menos experiência com eles. Subversion (SVN) é uma ferramenta de controle de versão centeralized. Com algumas soluções alternativas que você poderia fazê-lo funcionar em seu ambiente, mas realmente não aborda as questões que deseja resolvidos. Eu não tenho idéia por que outros respondentes estão sugerindo-lo.

Outras dicas

Git é adorável, mas o seu suporte do Windows é frouxa ao extremo (mesmo com msysgit ). Eu recomendaria Mercurial. Eu realmente não tenho usado por mim mesmo, mas eu ouvi que o seu apoio Windows é bastante útil. Além disso, ele tem uma curva de aprendizado um pouco mais fácil para as pessoas provenientes de VCS tradicional (como o SVN).

Eu acho Mercurial seria bem atender às suas necessidades.

  • Está escrito em Python, assim você não terá quaisquer problemas ao executar-lo no Windows.
  • As alterações podem ser facilmente aplicadas localmente usando patches ou pacotes
  • Há um par de GUI ferramentas disponível (olhar para TurtoiseHG)

Mercurial é o VCS Estou usando pessoalmente. Realmente fácil de aprender. Você definitivamente quero tentar sobre Git desde que é o suporte para Windows é muito melhor.

Eu amo bazar: http://bazaar-vcs.org/

Tem tudo o que você pede e é muito fácil de usar.

Obrigado pelas respostas. Mercurial parece muito bom, mas ele suporta repositórios na concentração de um diretório para outro, ou eu tenho que configurar uma rede local para mesclar através?

Sim, é verdade. Todos os DVCSes apoiar esta. A única diferença entre este e fusão de um servidor é tipicamente que você passa o comando apropriado um caminho de arquivo local em vez de um URL.

Em Mercurial parece que isso:

Suponha que você tem dois repositórios, um em seu disco rígido (C: \ Project) e um em seu flash drive (F: \ Project):

cd C:\Project

hg pull F:\Project

Da mesma forma, se você tem dois repositórios no mesmo sistema:

cd C:\Project

hg pull C:\Project1

Se há uma necessidade de uma fusão, que criará duas "cabeças" e pedir-lhe para fundi-los com hg merge.

added 1 changesets with 1 changes to 1 files (+1 heads)

(run 'hg heads' to see heads, 'hg merge' to merge)

Observe que esse é o mesmo como se você puxou e fundiu-se a partir de um servidor.

Eu encontrei o SVN para ser incrivelmente simples de configurar e usar, especialmente para um único usuário!

Uma coisa que eu achei muito interessante - o ssh + protocolo svn usado a capacidade de SSH para executar uma linha de comando no sistema remoto para realmente começar a SVN, então não havia realmente nenhuma configuração em tudo do lado de fora do servidor criando um diretório para seu repositório.

SVN tem um monte de conchas se você não gosta CLI (TortiseSVN no Windows) -. Por isso é tão fácil de usar quanto qualquer outra coisa

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