Pergunta

Eu sou forçado a usar o Visual Source Safe 2005 no trabalho. Eu gostaria de combinar isso com um DVCS, para que eu possa check-in arquivos localmente sem interromper meus colegas de trabalho se houver um bug ou não compilar.

Em minhas tentativas com Mercurial, ele funciona, mas causa alguns problemas estranhos. Ou seja, ele pensa que alguém tenha verificado os arquivos I fez check-out.

Aqui está o meu pensamento sobre como eu deveria controlá-lo:

  1. Desativar auto-checkout.
  2. Trabalho localmente no Mercurial
  3. Quando eu estou pronto para empurrar minhas alterações ...
    1. Clone meu Mercurial repositório.
    2. Actualizar o meu Visual Source Safe repositório
    3. Pull e mesclar os dois repositórios usando Mercurial.
    4. Verifique tudo em Visual Source Safe.

Isso soa razoável? Estou sempre ouvindo coisas ruins sobre VSS, é este apenas pedindo para eu ver esses problemas em primeira mão?

Foi útil?

Solução

WBlasko

Eu encontrei o mesmo problema. Eu queria alterar arquivos e fundi-los quando necessário, em vez de esperar por algum outro desenvolvedor para desbloqueá-lo. A solução que funcionou para mim foi:

1) Obter a versão mais recente de um projeto VSS (Coloquei todos os projetos VSS sob VSS):

c:\vss\projectA

2A) Inicializar com Mercurial

cd vss\projectA
C:\vss\projectA>hg init

2B) Clone o projeto para o lugar onde ele poderia ser alterado à vontade

hg clone vss\projectA myProjects\projectA

3) Agarre as últimas alterações do cópia VSS (pule se você veio de 1 e 2)

C:\myProjects\projectA>hg pull
C:\myProjects\projectA>hg update
(solve conflicts if any)

4) Trabalho à vontade com a versão clonada. Depois, empurrar o seu trabalho para a cópia VSS:

C:\myProjects\projectA>hg push
(don't run hg update yet, wait for VSS latestes version)

5) Agora, execute uma verificação de todos os arquivos para o projeto VSS

6) Run "update hg" no projeto VSS para mesclar as alterações feitas as últimas alterações VSS.

C:\vss\projectA>hg update
(if there are conflicts, resolve them)

7) Confirme as alterações

C:\vss\projectA>hg commit

8) Realizar uma coleira VSS (libertando as fechaduras para as outras pessoas) Volte para a etapa 3. Repita os passos 3-8 para sempre, então ...; -)

Desta forma, você pode trabalhar com um bom sistema de controle de versão, enquanto continuam sendo capazes de "conversar" com projetos legados. Você também será capaz de desfrutar: a) Nenhum problema com arquivos bloqueados b) você pode compartilhar seu repositório com outras pessoas que sabem como usar Hg c) Faz ramos, etc

Apenas tenha cuidado para primeira atualização / resolução de conflitos, de teste e, em seguida, executar VSS checkin

Cheers, Luis

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