Pergunta

Por um tempo eu tinha apenas meu código sob controle de origem, mas decidi que seria legal colocar coisas como minhas coisas na minha pasta .vim entre outras coisas em um repo.(Eu obviamente não vou armazenar tudo no meu repo, apenas vários arquivos de configuração, meu diretório SRC, e talvez algumas outras coisas também)

Eu fui capaz de configurar um repomo, em seguida, empurre-o para o meu servidor onde posso acessá-lo de meus outros computadores, mas não consigo clonar para meus outros computadores.Quando tento clonar, ele falha porque o diretório home não está vazio.Existe uma maneira de fazer o que eu quero aqui?

Foi útil?

Solução

Como os arquivos versionados entre meus computadores são os mesmos, o que fiz foi:

~$ hg clone ssh://myserver/hg/dotfiles mydotfiles
~$ mv mydotfiles/.hg .
~$ rm -rf mydotfiles

e é isso, agora sua pasta de início está sob controle de versão, mas é claro que se seus arquivos dot não forem idênticos entre os computadores, você terá que fazer algo a respeito.

Como desejo apenas a versão de alguns arquivos e não tudo em minha pasta de início, tenho esta regra simples em ~/.hgignore

# This .hgignore is for the dotfiles repository only,
# the rest of my HG repositories use the file
# .hgignore_global as referenced by [ui]'s ignore setting.

syntax:glob
*

Dessa forma, não obtenho um oceano de arquivos quando executo hg status e vejo apenas os arquivos que tenho sob controle de versão que foram modificados.

Mas como desejo ver arquivos não versionados ao trabalhar em outro repositório hg, tenho isso em meu arquivo ~/.hgrc

[ui]
ignore=/home/gajon/.hgignore_global

E ~/.hgignore_global contém alguns filtros para arquivos transitórios comuns:

syntax: glob
*.pyc
*~
.*.swp
.svn*
*.svn*
*.fasl

syntax: regexp
^\.pc/

Outras dicas

Suponha que você tenha proj1 e proj2 . proj1 é um repositório mercurial que você deseja clonar em proj2 , mas proj2 já contém arquivos.

Experimente isto:

hg clone proj1 proj3
mv proj3/.hg proj2
rmdir proj3
cd proj2
hg update -C -r tip

Nos outros diretórios que já existem, você pode hg init, hg add o que quiser, hg commit isso, hg pull do repo central e lidar com a fusão resultante.

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