Ilekroć wykonuję cykl zatwierdzania w svn, sprawdzam różnicę podczas pisania moich komentarzy. Pomyślałem, że byłoby miło pokazać rzeczywistą funkcję, w której dokonałem modyfikacji przy wyświetlaniu porównania.Uzyskiwanie różnicy svn do pokazywania funkcji C++ podczas zatwierdzania
Sprawdziłem , które wspomniało, że opcja -p pokaże funkcję C, w której znajduje się ta zmiana. Kiedy jednak spróbowałem użyć opcji -p z jakimś kodem C++, zwykle zwraca ona specyfikator dostępu (prywatny publiczne, chronione itp.), co nie jest zbyt przydatne.
Zauważyłem, że istnieje opcja -F dla diff, która robi to samo co -p, ale przyjmuje wyrażenie regularne określone przez użytkownika. Zastanawiam się: czy istnieje proste wyrażenie regularne pasujące do funkcji C++? Wygląda na to, że to wszystko, co konieczne, aby to zadziałało.
Spędziłbym trochę czasu, przyglądając się temu samemu, ale praca jest w trybie chrupania i wydawało mi się, że wiele osób mogłoby się przydać, więc pomyślałem, że opublikuję to tutaj.
EDYCJA: Nie szukam czegoś, co jest regexem typu catch-all, ale coś, co po prostu znajdowałoby najbliższą definicję funkcji nad różnicą obszarową. Fakt, że byłby nigdzie bliski ideału i nieco błędny, jest w porządku ze mną. Tak długo jak to działa, być może 60% czasu byłoby znaczącym usprawnieniem wydajności IMHO.
Hmmm ... Myślę, że rozwiązanie tego jest o wiele bardziej skomplikowane, niż myślałem. –