Come si cerca il testo delle descrizioni delle liste dei cambiamenti in Perforce?

StackOverflow https://stackoverflow.com/questions/134103

  •  02-07-2019
  •  | 
  •  

Domanda

A volte, mi ritrovo a voler cercare il testo delle descrizioni delle liste dei cambiamenti in Perforce. Non sembra esserci un modo per farlo in P4V. Posso farlo reindirizzando l'output del comando change su un file ...

p4 changes -l > p4changes.txt

... (l'opzione -l dice di scaricare il testo completo delle descrizioni dell'elenco modifiche) e quindi di cercare il file, ma questo è piuttosto ingombrante. Qualcuno ha trovato un modo migliore?

È stato utile?

Soluzione

Quando il riquadro dell'elenco delle modifiche inviato è attivo, un CTRL + F consente di eseguire una ricerca di testo arbitraria, che include le descrizioni dell'elenco di modifiche.

L'unica limitazione è che cerca solo quelle liste di modifiche che sono state recuperate dal server, quindi potrebbe essere necessario aumentare il numero recuperato. Questo viene fatto tramite il "Numero di elenchi modifiche, lavori, mappature delle filiali o etichette da recuperare contemporaneamente". impostazione che puoi trovare navigando su Modifica- > Preferenze- > Dati server.

Altri suggerimenti

p4 cambia -L | grep -B 3 searchstring

-B 3 significa che mostra 3 righe prima della stringa corrispondente, dovrebbe essere sufficiente per mostrare l'id di modifica con commenti a 2 righe ma puoi cambiarlo se necessario.

Uso p4sql ed eseguo una query su le "modifiche" Banca dati. Ecco il schema di database di perforce

La query è simile a questa (non testata)

select change from changes where description like '%text%' and p4options = 'longdesc'

modifica: aggiunte le opzioni p4 per restituire più di 31 caratteri nella descrizione.

Ecco una versione Powershell di "grep" di Paul risposta. Ancora una volta, cerca la stringa specificata nella descrizione della modifica e restituisce le 3 righe prima di essa, per includere l'id di modifica:

p4 changes -L | select-string "search string" -Context (3,0)

Perché reindirizzare a un file quando è possibile reindirizzare l'output tramite less e utilizzare la ricerca di less ?

p4 changes -l | less

E quindi premere / per richiedere una stringa di ricerca. Successivamente, n salterà alla partita successiva e Maiusc + n passerà alla precedente.

Un'implementazione di less per Windows è disponibile come parte di UnxUtils .

L'uso di p4sql è davvero l'unico modo per fare efficacemente quello che vuoi. Non sono a conoscenza di nessun altro modo. Il vantaggio ovviamente è che puoi utilizzare le istruzioni select per limitare l'intervallo dei valori dell'elenco modifiche (tramite data, utente, ecc.). Il tuo metodo funzionerà ma diventerà ingombrante molto rapidamente man mano che generi più elenchi di modifiche. Puoi limitare l'ambito del comando modifiche, ma non otterrai la flessibilità di p4sql.

Eddie on Games ha pubblicato la sua ricerca nella lista delle modifiche di Perforce 0.1 su http://www.eddiescholtz.com / blog / archives / 130

Ma mi piace usare il mio editor di testo preferito con il semplice: p4 modifiche -s presentate // prog / stuff / main / ... > temp.txt

Se ami ancora la tua riga di comando, puoi scrivere un piccolo script perl che:

  • cambia il separatore di record $ / in doubleline " \ n \ n " quindi filtra l'input nei record completi di ztagged p4 output.
  • scansioni la parte '/ ^ ... desc /..//' con espressioni regolari dagli arg.

l'utilizzo sarebbe qualcosa come 'p4 -ztag changes -l | yourperlfilter.pl searchterm1 searchterm2 '

se funzionasse bene, potresti integrarlo nel menu degli strumenti p4win .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top