Mi sento spinto ad aggiungere una risposta, poiché la risposta accettata, e alcune delle altre, hanno quello che penso sia un problema significativo: non capiscono la differenza tra un comando di query di sola lettura e un comando che apporta modifiche.
Non mi aspetto alcun merito per questa risposta, ma spero che aiuti gli altri a evitare di perdere tempo e commettere errori seguendo la risposta accettata ma IMHO errata.
--- + BREVE
Probabilmente il modo più conveniente per trovare tutti i file non tracciati in un'area di lavoro forzata è p4 reconcile -na
.
-a
dice "dammi i file che non sono nel repository, cioè che dovrebbero essere aggiunti".
-n
dice "non apportare modifiche" - vale a dire un funzionamento a secco. (Sebbene i messaggi possano dire "aperto per aggiungere", mentalmente devi interpretarlo come "sarebbe aperto per aggiungere se non -n")
Probabilmente il modo più conveniente per trovare tutte le modifiche locali apportate offline: non solo i file che potrebbero dover essere aggiunti, ma anche i file che potrebbero dover essere eliminati o che sono stati modificati senza essere aperti per la modifica tramite p4 edit
, è p4 reconcile -n
.
Diverse risposte fornivano script, spesso coinvolgenti p4 fstat
. Anche se non ho verificato tutti questi script, utilizzo spesso script simili per compensare le carenze di comandi di perforce come p4 reconcile -n
- ad esempio, spesso trovo che desidero percorsi locali piuttosto che percorsi del depot di Perforce o percorsi dell'area di lavoro.
--- + ATTENZIONE
p4 status
NON è la controparte dei comandi di stato su altri sistemi di controllo della versione.
p4 status
NON è una query di sola lettura. p4 status
trova effettivamente lo stesso tipo di modifiche che p4 reconcile
fa e le aggiunge al repository. p4 status
non sembra avere -n
un'opzione di funzionamento a secco come p4 reconcile
fa.
Se lo fai p4 status
, guarda i file e pensa "Oh, non ho bisogno di quelli", allora p4 revert
li dovrai se vuoi continuare a modificare nello stesso spazio di lavoro. Altrimenti le modifiche che sono state p4 status
aggiunte al tuo changeset verranno controllate la volta successiva.
Sembra che ci siano poche o nessuna ragione per usare p4 status
piuttosto che p4 reconcile -n
, eccetto per alcuni dettagli dello spazio di lavoro locale rispetto al percorso del depot.
Posso solo immaginare che chiunque abbia scelto lo 'stato' per un comando non di sola lettura avesse un controllo limitato della lingua inglese e di altri strumenti di controllo della versione.
--- + P4V
GUI
Nella GUI p4v
, il comando reconcile trova le modifiche locali che potrebbero dover essere aggiunte, eliminate o aperte per la modifica. Fortunatamente non li aggiunge a un elenco modifiche per impostazione predefinita; ma potresti comunque voler fare attenzione a chiudere la finestra di riconciliazione dopo averla ispezionata, se non vuoi eseguire il commit delle modifiche.