2012-03-16 8 views
19

Ogni volta che eseguiamo una generazione, dobbiamo registrare il numero dell'elenco delle modifiche dei file di origine per il monitoraggio. Abbiamo diversi progetti (in diverse directory) e sono sincronizzati con un numero di lista modifiche diverso. Puoi per favore mostrarmi come possiamo ottenere il numero dell'elenco modifiche di una directory specifica?Ottieni il numero degli elenchi di modifiche della directory dello spazio di lavoro corrente

Qualsiasi suggerimento è gradito. Grazie e cordiali saluti

+1

Forse un'etichetta sarebbe utile. L'etichetta può registrare le revisioni dei file che hai creato. –

+0

Grazie a tutti per i vostri suggerimenti! –

risposta

27

Inoltre, c'è p4 changes -m1 //path/to/your/project/...#have che, se eseguito nello spazio di lavoro client che sincronizza i file per la creazione, ti darà il numero di elenchi delle modifiche più alto dei file nell'area di lavoro.

+0

Questo sembra fantastico, ma ottengo "Richiesta troppo grande (oltre 550000); vedere" p4 help maxresults "." errore. Adoro Perforce, così pieno di sorprese ... – thegeko

1

Se il sistema di compilazione si sincronizza sempre sulla directory prima della creazione, è possibile utilizzare p4 changes -m 1 //path/to/your/project/... per ottenere il numero dell'elenco dell'elenco delle modifiche per quella directory.

Se si utilizza questo metodo, suggerirei di eseguire il comando change prima di eseguire la sincronizzazione e quindi di sincronizzarsi esplicitamente con l'elenco delle modifiche. Questo dovrebbe eliminare la possibilità che qualcuno controlli tra il comando changes e il comando sync.

0

È anche possibile utilizzare la versione corta p4 changes -m1 #have se non si desidera specificare la directory.

+1

Nota che questa non è la stessa cosa della risposta dell'utente1054341 che include il percorso del depot. Questa versione sembra includere le modifiche che non sono ancora state sincronizzate dal client. – solublefish

+2

Sì, no. Come solublefish dice, questo dà il più recente changelist sul server, che non è affatto il changelist in cui ho sincronizzato la mia vista client. – damian

+0

@solublefish @damian Penso che la tua shell stia silenziosamente ignorando la parte '# have' perché quel comando funziona esattamente come pubblicizzato. –

4
p4 cstat //path/to/your/project...#have |grep -B1 have|tail -n2 

@thegeco, questo non richiede alte max_scanrows limiti Perforce

+0

Cosa intendi con "limiti massimi di forza massima max_scanrows"? –

0

io uso il "modo manuale pigro" (aka non so meglio) all'interno del client P4V:

Utilizzare questo nei filtri della scheda "Inviato": //yourproject/...#>have E ti mostrerà quali CL non hai sincronizzato, nota il più vecchio. Rimuovi il #> filtro e vedi qual è il CL che è venuto prima di quello che hai appena notato.

-1

Nel mio caso, voglio solo sapere quale numero dell'elenco delle modifiche è stato aperto (non sincronizzato) in una directory specifica. Per quello, io faccio:

p4 opened -s | cut -d' ' -f5 | uniq 
Problemi correlati