Kiedy używam "svn diff" z linii poleceń, wypisuje ona linie, które się zmieniły, ale także 3 niezmienione linie przed i po kontekście. Wolę widzieć tylko zmienione linie bez kontekstu. Nie byłem w stanie określić żadnych opcji wiersza poleceń, które pozwolą mi sprawić, by zachowywał się w ten sposób. Standardowe 'diff' i 'cvs diff' robią to, co chcę domyślnie. Z pewnością "svn diff" może to zrobić, ale czegoś mi brakuje. Ktoś wie jak?Jak uzyskać BEZ kontekstu podczas używania svn diff
Odpowiedz
Po zapoznaniu się z przydatnym linkiem podanym powyżej, rozwiń, krótka odpowiedź brzmi, że svn został zbudowany -in diff nie może zrobić tego, co chcę. Możesz powiedzieć, aby używał standardowego zewnętrznego porównania i przekazywać arg do tego, aby powiedzieć, że nie chcesz żadnego kontekstu. I umieścić następującą alias w moim .bashrc i teraz wszystko działa dobrze, jeśli mogę użyć że zamiast:
alias svndiff='svn diff --diff-cmd=diff -x -U0'
This thread wydaje się dojść do wniosku, że należy użyć polecenia zewnętrznego diff w celu kontrolowania ilości kontekstu.
Wolę ujednoliconej dyferencjału, więc moje palce zawsze wpisać
svn diff -x -u
co oznacza, że komenda zewnętrzna (GNU diff) jest używana, tak myślę.
Dzięki za przydatne łącze. Zaskakuje mnie, że wbudowane różnice nie mogą zrobić tego, co chcę. Wydaje mi się, że naruszam zasadę uniksowego posiadania najmniejszej wymaganej mocy wyjściowej. Użycie poleceń -x -u daje takie same wyniki, jak nie. 'svn help diff' powiedz mi, że są to wartości domyślne. Może w ogóle nie musisz wpisywać dodatkowych znaków? – DaveBurns
Możesz przesłać wyniki "svn diff" do grep i napisać wyrażenie regularne, aby uzyskać to, co chcesz. Na przykład, spróbuj tego:
svn diff | grep "^[+-\]"
Powyższe polecenie dostaje wszystkie linie, które zaczynają się od „+” lub „-” lub „\”. (Potrzebujesz '\', jeśli chcesz zobaczyć różnice takie jak "\ Brak nowej linii na końcu pliku".)
Działa to dobrze, jeśli chcesz tylko zmienione linie. Jednak nie wyświetla prawidłowych informacji o numerach linii. Na przykład. z 3 liniami kontekstu przed/po "@@ -21,7 +21,7 @@" mówi linia 24 została zmieniona. Bez kontekstu zobaczysz "@@ -24,1 +24,1 @@" – kamczak
Sugestia powyżej nadal produkuje formatu kontekstowego, ale z 0 linii kontekstu. To wciąż nie jest tradycyjny wynik porównania przed subwersją.
Co działa dla mnie jest: svn di --diff-cmd=diff -x --normal
Opcja --normal
(w diff, że statki z OSX) daje tradycyjny format, który niektórzy ludzie wolą.
- 1. Jak uzyskać pager w svn diff?
- 2. howto make diff wyglądać jak svn diff?
- 3. Jak utworzyć format różnicowy "git diff" (niejednolity, bez kontekstu)?
- 4. Konfiguracja vimdiff pokazać różne kolory podczas używania go do SVN-diff
- 5. Jak uzyskać układ tabeli bez używania tabel?
- 6. Jak uzyskać więcej linii kontekstu w Github
- 7. Jak zastosować SVN diff do Git?
- 8. git - zmieniono podsumowanie pliku, takie jak svn diff - status/stan svn z konsoli (bez gitk)
- 9. Używanie diff Tortoise SVN w TFS
- 10. svn diff: plik oznaczony jako typ binarny
- 11. Błąd Eclipse podczas używania Subversive
- 12. Subversion uzyskać najnowszy bez aktualizacji svn: externals
- 13. Jak uzyskać ładną różnicę wizualną dla svn?
- 14. SVN diff w 2 różnych repozytoriach
- 15. Jak uzyskać aplikację z kontekstu
- 16. Dołącz plik obrazu w łatce svn diff
- 17. Diff bez plików
- 18. Dlaczego svn diff czasami kopiuje pliki robocze do pliku tymczasowego?
- 19. Git Diff między HEAD i SVN Master
- 20. Jak wyświetlać wyskakujące wiadomości bez kontekstu
- 21. Jak uzyskać różnicę działającą jak git-diff?
- 22. Polecenie uzyskania svn diff bieżącego i poprzedniego numeru wersji
- 23. Jak wykluczyć niektóre pliki z pliku svn diff?
- 24. Jak mogę zmienić numer łatki svn diff linii kontekstowych?
- 25. Jak uzyskać kompletne zaćmienie kodu dla CI podczas używania & get_instance()?
- 26. Jak mogę uzyskać dopasowania podczas używania preg_replace w PHP?
- 27. Jak uzyskać dziennik serwera SVN?
- 28. Jak uzyskać DIFF na posortowanym zbiorze
- 29. Jak zignorować białe znaki podczas używania git whatchanged -p?
- 30. Jak korzystać z svn bez porównania 3
'-x' jest parametrem rozszerzenia dla' svn diff', powoduje token następujący zaraz po, tutaj '-U0', aby przekazane do polecenia diff określonego przez '--diff-cmd', tutaj' diff'. – valid