Perforce. Obter o status do arquivo na caixa de areia
-
01-07-2019 - |
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?
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.