2012-06-12 11 views
15

Voglio cercare una frase specifica (ad esempio "virgola_delimitato") in un file specifico (ad esempio "index.php") in un ramo specifico (ad esempio "ABC-123"). Il motivo è che il testo non è più nel file e voglio vedere in quale commit è stato estratto, senza guardare ogni revisione di questo file su questo ramo.come utilizzare gli strumenti di ricerca di tartaruga?

C'è un modo per farlo in tartaruga? Vedo che c'è un pulsante Cerca che fa apparire un pannello di ricerca in cui è possibile inserire pattern, ma non ho idea di come utilizzarlo (e non so come scrivere schemi), e dopo aver cercato su Google per un po 'di tempo, non ho trovato utili informazioni su di esso.

Grazie

risposta

11

Ci sono due pulsanti di ricerca - uno per cercare il repository e l'altro è quello di filtrare il grafico di revisione. Forse hai premuto quello sbagliato?

Se si utilizza il menu per selezionare Visualizza/Cerca, seleziona la vista di ricerca che si desidera.

che dovrebbe vedere un grande pannello sotto il grafico di revisione con una serie di controlli per riempire.

  • inserire "comma_delimited" nel primo controllo di modifica (sulla stessa linea come la ricerca e Stop pulsanti che si trovano sulla destra)
  • Selezionare il pulsante di opzione "Tutte le cronologie" sotto il controllo di modifica.
  • Inserisci **index.php nel controllo di modifica con l'etichetta "Include" (o il percorso completo index.php se si dispone di più di uno e desidera limitare la ricerca ad un particolare file)
  • Premere il pulsante di ricerca

L'elenco nella parte inferiore della finestra dovrebbe ora mostrare i dettagli delle revisioni che includono quella frase. Mostrerà quando è stato aggiunto (con prefisso '+') e quando è stato rimosso (con prefisso '-')

Ecco una finestra di esempio di ricerca: Example search window

+0

mio repository ha una grande storia, con molti rami, io non voglio per la ricerca di ogni revisione di index.php, solo le modifiche apportate questo ramo. è possibile? –

+0

Non sembra esserci quella opzione dall'interfaccia utente. Basta guardare un singolo file piuttosto che l'intero repository che lo velocizza molto, forse è sufficiente. Dalla riga di comando puoi limitare la ricerca a un intervallo di revisioni o un singolo ramo: 'hg grep --all -I" ** index.php "-r" branch (branch_name) "comma_delimited' ma ciò non sembra lavorare nella vista di ricerca di tartaruga. –

+0

perfetto, grazie –

1

Il campo di ricerca TortoiseHg supporta revsets . Sembra che esista una funzione grep(regex), ma sembra che sia solo una variante regolare della funzione di parola chiave, che cerca solo "messaggio di commit, nome utente e nomi di file modificati". Bummer. Sembra che si sta solo scelta è quella di utilizzare Mercurial's grep command:

> hg grep -r ABC-123 'comma_delimited' index.php 
+0

ho controllato il link che hai postato ... il grep "Cerca messaggio di commit, nome utente e nomi dei file modificati per stringa". ma non il testo in un file ... –

+0

@estherh Grazie. Ho corretto la mia risposta. –

Problemi correlati