Pergunta

Como posso descobrir o estado dos arquivos em meu cliente, eu quero saber se o arquivo precisa de um atualizado ou corrigido ou modificado etc. No CVS, eu costumava simplesmente executar "cvs -n -q update .> file". olhar mais tarde para M, L, P, C atributos para obter o status atual do arquivo.

Em forçosamente, "p4 sincronização -n" não dá saída como "cvs -n update q". Como posso ver o estado atual dos arquivos, em caso de Perforce?

Foi útil?

Solução

A meu conhecimento, não há um comando que lhe dará exatamente o que você quer. Ao olhar o que o comando de atualização faz, não há alternativa única no Perforce. Eu acho que o mais próximo que você vai chegar será usar o comando 'P4 fstat' e analisar a saída de lá para obter as informações que você precisa.

Você pode achar desta página útil.

Eu também encontrei este ligação a um p4wrapper que as reivindicações para embrulhar em comandos CVS vêm ( incluindo atualização) em um script. Pode haver outros como este ao redor também.

Eu também queria comentar que a resposta a esta pergunta é como muitos com Perforce quando perguntando "como eu faço ...". A resposta geralmente vem para baixo para escrever um script para tomar a saída de comandos do Perforce para obter os resultados que você precisa. Sua filosofia é proporcionar aos comandos ossos nus e têm desenvolvedores construir fora da funcionalidade básica. Amá-lo ou odiá-lo, esse é o modelo básico. Muitos scripts boas podem ser encontradas no Depot Pública Perforce aqui .

Outras dicas

Não tenho certeza se é isso que você está procurando, mas o comando P4 diff tem algumas opções úteis. A partir do uso:

    -sa     Opened files that are different from the revision
            in the depot, or missing.  
    -sb     Opened for integrate files that have been resolved
            but have been modified after being resolved.  
    -sd     Unopened files that are missing on the client.  
    -se     Unopened files that are different from the revision
            in the depot.  
    -sl     Every unopened file, along with the status of
            'same, 'diff', or 'missing' as compared to its
            revision in the depot.  
    -sr     Opened files that are the same as the revision in the
            depot.

A divulgação completa: trabalho eu para Perforce

Haverá um 2 novos comandos "estado P4" e "reconciliação P4" no-vindo 2012.1 lançamento. Consulte o seguinte para obter mais detalhes:

http://www.perforce.com/blog/120126/ nova-20121-p4reconcile-p4status

Não é bem certo que você quer dizer. Se você está falando de ver quais arquivos precisam "resolver" (em linguagem forçosamente), então você pode usar:

p4 resolve -n

Veja a linha website manual de comando P4 aqui: http://www.perforce.com/perforce/ doc.current / manuais / cmdref / resolve.html # 1040665

Além disso P4V tem um bom recurso para destacar arquivos não enviadas e sujos, se você usar esse cliente. Clique com o botão direito do mouse em um fodler na visualização da área de trabalho e selecione "conciliar o trabalho offline." Após um pouco de processamento você terá uma lista de arquivos que estão fora de sincronia com o depósito.

Espero que isso ajude.

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