2010-05-21 13 views

Odpowiedz

149

W systemie Linux, jeśli chcesz zobaczyć tylko konflikty, potnij status przez grep.

svn status | grep -P '^(?=.{0,6}C)' 
+5

Dodanie '-A 1' do argumentów grep wyświetli wiersz po linii konfliktu, który jest czasem związany z konflikt. –

+0

@ N13 +1 dla odpowiedzi. Byłoby lepiej, gdybyś opisał to szczegółowo. Tak jak to jest -P "^ (? =. {0,6} C)". – Workonphp

+4

-P mówi [grep] (http://unixhelp.ed.ac.uk/CGI/man-cgi?grep), aby użyć perl regex,^= początek ciągu, (? =) Dołącza [lookahead] (http : //www.regular-expressions.info/lookaround.html) wzór, który jest. {0,6} dowolne 0 do 6 znaków i litera C, która jest wskaźnikiem konfliktów – Pete

11

można spróbować svn merge -r <revision> --dry-run i zobaczyć, co dzieje się w ten sposób.

+0

robi” Wydaje się działać na Windowsie z svn 1.7.8. Dziennik błędów: svn: E205001: Wypróbuj 'svn help', aby uzyskać więcej informacji svn: E205001: Wymagane źródło scalenia – kakyo

1

Możliwe jest użycie svn merge --dryrun podczas określania adresu URL repozytorium ze wszystkimi wersjami po ostatniej aktualizacji.

E.g. Jeśli bieżący WC jest na podstawie przeglądu 147 może to zrobić:

svn merge -r 148:HEAD http://url.to.repo/repo/ 

To nic nie robiłem sobie chociaż, więc musisz spróbować samemu.

3

Jeśli już scalone można użyć

svn status 

i zobaczyć wielką „C” dla konfliktu, ale zazwyczaj nie powinien widzieć tego rodzaju w kopii roboczej.

21

Wystarczy użyć grep!

svn st | grep '^C' 
+1

Działa. Co oznacza symbol ^? –

+2

@ sid, to wyrażenie regularne dla "zaczyna się od", więc oznacza to, że pierwszą postacią jest C –

+1

Myślałem, że może to zabraknąć plików, które mają status "A + C" .. Czy to jest problem .. – Raghav

-1

na mac

$ svn status | grep -e '^!' 

spełnił swoje zadanie

tutaj jest człowiek dla grep:

Wykorzystanie: grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [- B num] [-C [num]] [-e pattern] [-f plik] [--binary-files = wartość] [--color = kiedy] [--context [= num]] [- directo Ries = akcja] [--label] [--line buforowane] [--null] [wzór] [plik ...]

+0

Jak pasuje wykrzyknik, by pomóc w znalezieniu skonfliktowanych przedmiotów? – anddam

+0

'^!' Jest wyrażeniem regularnym dla każdej linii zaczynającej się od '!'. Wszystkie sprzeczne linie zaczynają się od '!' – thesummersign

+1

Nie, właśnie rozwiązałem konflikty podczas repozytu 1.9, a linie konfliktu zaczynały się od "C". – anddam

2

Dla Windows PowerShell użyć:

svn status | sls -Pattern '^(?=.{0,6}C)' 
Powiązane problemy