2012-06-12 14 views
15

Chcę wyszukać konkretną frazę (np. "Comma_delimited") w określonym pliku (np. "Index.php") w określonej gałęzi (np. "ABC-123"). Powodem tego jest to, że tekst nie jest już w pliku i chcę zobaczyć, przy którym zatwierdzeniu został on usunięty, bez sprawdzania każdej wersji tego pliku w tej gałęzi.jak korzystać z narzędzi wyszukiwania tortoisehg?

Czy można to zrobić w tortoisehg? Widzę, że jest przycisk Szukaj, który wywołuje panel wyszukiwania, w którym można wprowadzać wzorce, ale nie mam pojęcia, jak go używać (i nie wiem, jak pisać wzorce), a po googlowaniu przez jakiś czas, nie znalazłem użytecznego informacje na ten temat.

Dzięki

Odpowiedz

11

znajdują się dwa przyciski - jeden do wyszukiwania przeglądać repozytorium, a druga jest do filtrowania wykres zmian. Może nacisnąłeś niewłaściwy?

Jeśli używasz tego menu, aby wybrać Widok/Szukaj, wybierz żądany widok wyszukiwania.

Należy pokazać dużą poniższego panelu wykresu rewizyjnej z liczbą kontroli wypełnić.

  • Enter „comma_delimited” do pierwszej kontroli edycji (na tej samej linii co Search i Stop które są po prawej)
  • Wybierz przycisk radiowy "All History" poniżej tego sterowania edycją.
  • Wprowadź **index.php pod kontrolą edycji oznaczonej „obejmuje” (lub pełną ścieżkę do index.php jeśli masz więcej niż jeden i chcesz ograniczyć wyszukiwanie do konkretnego pliku)
  • Naciśnij przycisk Search

Lista u dołu okna powinna teraz zawierać szczegóły wersji zawierających tę frazę. To pokaże, kiedy została ona dodana (poprzedzona znakiem „+”) i kiedy została ona usunięta (poprzedzone znakiem „-”)

Oto okno Przykład wyszukiwania: Example search window

+0

mój repozytorium ma bardzo dużą historię z wielu branż, nie chcę, aby szukać każdej rewizji index.php, tylko zmiany dokonane w ta gałąź. czy to jest możliwe? –

+0

Nie wydaje się, że ta opcja jest dostępna w interfejsie użytkownika. Samo sprawdzenie pojedynczego pliku zamiast całego repozytorium znacznie przyspiesza, więc może to wystarczy. Z poziomu wiersza poleceń możesz ograniczyć wyszukiwanie do zakresu wersji lub pojedynczego oddziału: 'hg grep --all -I" ** index.php "-r" gałąź (nazwa_grupy) "comma_delimited' ale to nie wygląda pracować w widoku wyszukiwania tortoisehg. –

+0

perfect, thanks –

1

Pole wyszukiwania TortoiseHg obsługuje revsets . Wygląda na to, że istnieje funkcja grep(regex), ale wygląda na to, że jest to tylko wariant wyrażeń regularnych funkcji słowa kluczowego, który wyszukuje tylko "wiadomość zatwierdzenia, nazwę użytkownika i nazwy zmienionych plików". Bummer. Wygląda jakbyś jedynym wyborem jest użycie Mercurial's grep command:

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

Sprawdziłem link, który wysłałeś ... grep będzie "Wyszukaj wiadomość commit, nazwę użytkownika i nazwy zmienionych plików dla ciągu znaków." ale nie tekst w pliku ... –

+0

@estherh Dzięki. Poprawiłem moją odpowiedź. –