Realmente a atualização não é automática, quando são adcionados novos arquivos ao projeto. O que fazemos aqui é :
FORMA A :
O Desenvolvedor 1, aplica um Check Out e atualiza o VSS. O Desenvolvedor 2 executa o VSS e executa um Get Last Version neste arquivo, pois pelo gerenciador de projetos do VFP, isto não é possível pois o arquivo de projetos não é atualizado como a documentação ( ao menos eu não consegui ), apos isto o desenvolvedor 2 adciona o arquivo ao seu projeto. ( é um pouco trabalhoso, mas funciona )
Já o "Join Source Control Projetc", é para se associar ao projeto e não atualiza-lo.
FORMA B:
Escrever no Project Hook um código para automatizar este processo, é o que estou fazendo aqui. Não está perfeito mas tá quase lá. Após liberar alguns arquivos novos o DESENVOLVEDOR que o adicionou, gera uma lista com estes novos arquivos, que é copiado para um drive de rede, e os outros desenvolvedores, verificam esta pasta e executam uma rotina que adciona estes arquivos ao projeto, segue um trecho do código :
CREATE CURSOR _tmpProjeto (arquivo C (250) )
SELECT _tmpProjeto
WAIT WINDOW "Aguarde, contando e adicionando arquivos à tabela de verificação..." NOWAIT NOCLEAR
m.lnTotal = _vfp.ActiveProject.Files.Count
FOR i=1 TO lnTotal
IF NOT _vfp.ActiveProject.Files(i).Exclude
INSERT INTO _tmpProjeto (arquivo) values( _VFP.ActiveProject.Files(I).Name )
ENDIF
ENDFOR
WAIT WINDOW "Fim de processo, arquivo criado" NOWAIT NOCLEAR
SELECT (lcOutroArq)
GO TOP IN (lcOutroArq)
SCAN
lcNomeArq = JUSTFNAME(ALLTRIM(UPPER( &lcOutroArq..arquivo)))
SELECT arquivo FROM _tmpProjeto WHERE JUSTFNAME(ALLTRIM(UPPER(arquivo))) == m.lcNomeArq INTO ARRAY laProjeto
IF _tally = 0
IF FILE( m.lcNomeArq )
m.lcPath = LOCFILE( m.lcNomeArq )
WAIT WINDOW " Adcionando o arquiivo " + JUSTFNAME(m.lcNomeArq) NOWAIT NOCLEAR
_VFP.ActiveProject.Files.Add( m.lcPath )
ELSE
WAIT WINDOW " Arquivo não encontrado " + JUSTFNAME(m.lcNomeArq) NOWAIT NOCLEAR
ENDIF
ENDIF
ENDSCAN
WAIT WINDOW [Fim de atualização.]
>oi Frederico,
>obrigado pela resposta,
>mas o ponto é exatamente esse, aqui está funcionando conforme vc descreveu, porém imagine a seguinte situação:
>
>2 desenvolvedores,
>projeto do desenvolvedor 1:
>form1
>form2
>
>projeto do desenvolvedor 2:
>form1
>form2
>até aqui tudo bem, os chek in's e chek out's funcionam direitinho atualizando nos 2 projetos, porém se o desenvolvedor 1 criar um form3, esse form não aparece no projeto do desenvolvedor 2, segundo a documentação da M$ o desenvolvedor um deve fazer um "Atualizar Lista" para que o form3 passe a constar no arquivo de projeto controlado pelo Source Safe (isso não é automático, é manual)
>para o desenvolvedor 2 finalmente "ver" este arquivo dentro do seu projeto ele tem que fazer um "Join Source Control Projetc" MAS !!!! e SE !!! o desenvolvedor 1 tiver feito um formulário (form4 por exemplo ???)
>
>como vc tem tratado isso ???
>obrigado mais uma vez.
>
>Leandro.
Paulo Cesar Carneiro
desenvolvimento@controplan.com.br"My God, what have we done?"
-- Capt. Robert Lewis, co-pilot of the Enola Gay, recalling the moment the atomic bomb exploded over Hiroshima
At 8:15 a.m. on August 6 1945