Cum să găsiți fișiere netracked într-un copac Perforce? (analog al statusului svn)

Oricine are un script sau un alias pentru a găsi fișiere netracked (într-adevăr: neadăugate) într-un arbore Perforce?

EDIT: Am actualizat raspunsul acceptat pe aceasta, deoarece pare ca P4V a adaugat suport pentru aceasta in versiunea din ianuarie 2009.

0
fr hi bn
Nu-mi pot imagina cum apare că cel mai folosit instrument SCM corporativ lipsește această funcție. Probabil toți dezvoltatorii lor utilizează numai interfața grafică.
adăugat autor sorin, sursa
Oh, pentru plâns cu voce tare! Codul acceptat p4 status nu găsește doar fișierele netracked, ci de fapt, STARTS TRACKING THEM. I.E. statusul p4 nu este o interogare numai pentru citire, așa cum ar suspecta numele, dar este de fapt o comandă care schimbă lucrurile - nu fișierele spațiului de lucru. Aceasta nu este ceea ce ar trebui să facă o comandă de stare și NU ceea ce face svn status . Cel mai apropiat lucru pe care îl pot găsi în svn status este p4 reconcile -na - să spună "fișiere care ar trebui adăugate" schimba or
adăugat autor Krazy Glew, sursa

2 răspunsuri

Pe linux sau dacă aveți gnu-tools instalate pe ferestre:

find . -type f -print0 | xargs -0 p4 fstat >/dev/null

Acesta va afișa un mesaj de eroare pentru fiecare fișier neaccount. Dacă doriți să capturați rezultatul:

find . -type f -print0 | xargs -0 p4 fstat >/dev/null 2>mylogfile
0
adăugat
Redirecționarea stderr la stdout vă va permite să efectuați filtrarea suplimentară sau alte operații. De exemplu, pentru a vedea o listă scalabilă de fișiere Java: găsiți. - tip f -print0 | xargs -0 p4 fstat 2> & 1>/dev/null | grep '\ .java' Mai puțin
adăugat autor Jon Nadal, sursa

Ahh, unul dintre clasicele Perforce :) Da, chiar e de rahat ca nu exista nici o cale usoara pentru aceasta construita in comenzile implicite.

Cea mai ușoară cale este să rulați o comandă pentru a găsi toate fișierele sub rădăcina clienților dvs. și apoi să încercați să le adăugați la depozit. Veți sfârși cu o listă de modificări a tuturor fișierelor noi și fișierele existente vor fi ignorate.

De exemplu, dir/s/b/A-D | p4-x - adăugați

(folosiți "Find" - tip f -print "dintr-o linie de comandă nix).

Dacă doriți o listă fizică (în consolă sau în fișier), atunci puteți conduce rezultatele unui diff (sau adăugați dacă doriți, de asemenea, într-un liste de modificări).

Dacă rulați acest lucru în cadrul programului P4Win, puteți utiliza $ r pentru a înlocui rădăcina clientului din spațiul de lucru curent.

0
adăugat