Dodanie -A 1do argumentów grep spowoduje wyświetlenie linii po linii konfliktu, która czasami jest związana z konfliktem.
Wesley Hartford
4
-P mówi grepowi, aby używał wyrażenia regularnego perl, ^ = początek łańcucha, (? =) Zawiera wzorzec wyprzedzenia , który wynosi. {0,6} dowolne od 0 do 6 znaków i litera C, która jest wskaźnikiem konfliktów
Pete
5
Jaki jest sens używania części wyprzedzającej? Nie mógł również '^.{0,6}C'działać?
hans_meine
2
Aby użyć tego samego polecenia w OSX, musisz zainstalować GNU grep, ponieważ grep BSD nie ma flagi wyrażenia regularnego perl (-P)
G.Rassovsky
4
W systemie Windows wersja Powershell to(svn status) -Match '^(?=.{0,6}C)'
Wydaje się, że nie działa w systemie Windows ze svn 1.7.8. Dziennik błędów: svn: E205001: Wypróbuj 'svn help', aby uzyskać więcej informacji svn: E205001: Wymagane
Jeśli nie scaliłeś ani nie zaktualizowałeś plików, użyj poniższego polecenia
svn status --show-updates | grep -P '.*(?=.*M)(?=.*\*).*'
Krótko mówiąc
svn st -u | grep -P '.*(?=.*M)(?=.*\*).*'
Szczegóły
SVN nie zaznacza statusu konfliktu (C), dopóki nie zaktualizujesz pliku (ów) za pomocą svn update.
Do tego czasu statusy są pokazane jak poniżej
M - Zmodyfikowane w lokalnym
* - Aktualizacje / Przychodzące ze zdalnego
M i * - Zmodyfikowane zarówno w lokalnym, jak i zdalnym - Jest to konflikt, ale svn jeszcze nie zaznaczył
-A 1
do argumentów grep spowoduje wyświetlenie linii po linii konfliktu, która czasami jest związana z konfliktem.'^.{0,6}C'
działać?(svn status) -Match '^(?=.{0,6}C)'
Po prostu użyj grep!
źródło
Możesz spróbować
svn merge -r <revision> --dry-run
zobaczyć, co się dzieje w ten sposób.źródło
Jeśli masz potwierdzenie ze strony http://betterthangrep.com/ , możesz wykonać następujące czynności
źródło
W przypadku programu Windows PowerShell użyj:
źródło
Jeśli już połączyłeś się, możesz użyć
i zobacz duże „C” dla konfliktu, ale zwykle nie powinieneś widzieć takiego rodzaju w kopii roboczej.
źródło
Może być możliwe użycie
svn merge --dryrun
podczas określania adresu URL repozytorium ze wszystkimi wersjami po ostatniej, którą zaktualizowałeś.Np. Jeśli twój obecny WC jest oparty na wersji 147, może to zrobić:
To nic, co sam zrobiłem, więc musisz spróbować sam.
źródło
Jeśli nie scaliłeś ani nie zaktualizowałeś plików, użyj poniższego polecenia
svn status --show-updates | grep -P '.*(?=.*M)(?=.*\*).*'
Krótko mówiąc
svn st -u | grep -P '.*(?=.*M)(?=.*\*).*'
Szczegóły
SVN nie zaznacza statusu konfliktu (C), dopóki nie zaktualizujesz pliku (ów) za pomocą
svn update
.Do tego czasu statusy są pokazane jak poniżej
M - Zmodyfikowane w lokalnym
* - Aktualizacje / Przychodzące ze zdalnego
M i * - Zmodyfikowane zarówno w lokalnym, jak i zdalnym - Jest to konflikt, ale svn jeszcze nie zaznaczył
źródło
na mac
wykonał pracę
oto człowiek dla grepa:
źródło
^!
to wyrażenie regularne dla każdej linii zaczynającej się od!
. Wszystkie sprzeczne linie zaczynają się od!