Wenn ich 'svn diff' von der Befehlszeile verwendet, druckt es die Zeilen, die geändert haben, aber auch die 3 unveränderten Zeilen vor und nach Kontext. Ich bevorzuge es, nur die geänderten Linien ohne Kontext zu sehen. Ich war nicht in der Lage, Befehlszeilenoptionen zu bestimmen, mit denen ich mich so verhalten kann. Standard 'diff' und 'cvs diff' machen das, was ich will. Sicher 'svn diff' kann das, aber ich vermisse etwas. Wer weiß wie?So erhalten Sie NO Kontext bei der Verwendung von Svn diff
Antwort
Nach dem Blick in den oben genannten nützlichen Link durch abwickeln, ist die kurze Antwort, dass Svn gebaut ist -in diff kann nicht tun was ich will. Sie können ihm sagen, dass er das externe Standard-Diff verwenden soll und Args an das übergeben soll, um ihm mitzuteilen, dass Sie keinen Kontext wollen. Ich habe die folgenden Alias in meinem .bashrc und alles funktioniert jetzt auch, wenn ich, dass statt:
alias svndiff='svn diff --diff-cmd=diff -x -U0'
This thread scheint zu der Schlussfolgerung zu kommen, dass Sie einen externen Diff-Befehl verwenden sollten, um die Menge des Kontexts zu steuern.
I Unified Diffs bevorzugen, so dass immer meine Finger
svn diff -x -u
geben, was bedeutet, dass ein externer (GNU diff) Befehl verwendet wird, glaube ich.
Danke für den nützlichen Link. Überraschend für mich, dass das eingebaute Diff nicht machen kann, was ich will. Es scheint mir, dass ich gegen das Unix-Prinzip verstoße, die geringste Ausgabe zu verlangen. Die Verwendung der -x -u Befehle gibt mir die gleichen Ergebnisse wie nicht. 'svn help diff' sag mir, dass das die Standardwerte sind. Vielleicht müssen Sie den zusätzlichen Char doch nicht eingeben? – DaveBurns
Sie könnten die Ergebnisse von 'svn diff' zu grep pipen und einen regulären Ausdruck schreiben, um zu bekommen, was Sie wollen. Zum Beispiel, versuchen Sie dies:
svn diff | grep "^[+-\]"
Der obige Befehl bekommt man alle Zeilen, die mit einem ‚+‘ oder beginnen ‚-‘ oder einem ‚\‘. (Sie brauchen das '\', wenn Sie Unterschiede wie "\ Keine neue Zeile am Ende der Datei" sehen möchten.)
Das funktioniert gut, wenn Sie nur die geänderten Zeilen möchten. Es gibt jedoch keine korrekten Informationen über Zeilennummern aus. Z.B. mit 3 Zeilen Kontext vorher/nachher, "@@ -21,7 +21,7 @@" sagt Zeile 24 wurde geändert. Ohne Kontext würden Sie sehen "@@ -24,1 +24,1 @@" – kamczak
Der Vorschlag oben noch das Kontextformat produziert, aber mit 0 Zeilen Kontext. Dies ist immer noch nicht die traditionelle Diff-Ausgabe vor der Subversion.
Was funktioniert für mich ist: svn di --diff-cmd=diff -x --normal
Die --normal
Option (in der diff, dass Schiffe mit OSX) gibt das traditionelle Format, das einige Leute bevorzugen.
- 1. So erhalten Sie DIFF bei sortierter Menge
- 2. SQL: So erhalten Sie COUNT bei der Verwendung von EXCEPT
- 3. Reihenfolge der SVN-Diff-Revision Bereich
- 4. So erhalten Sie Ausgabetext bei Verwendung von Watson-Konversation api
- 5. Wie erhalten Sie einen Pager in Svn Diff?
- 6. Verwenden von Svn diff Befehl
- 7. No Touch-Scrolling bei der Verwendung von `ttk.scrollbar` über` tk.scrollbar`
- 8. SVN diff Liste verpflichtet
- 9. Fehlender Kontext bei Verwendung von @connect
- 10. Image diff viewer SVN
- 11. howto machen diff wie svn diff aussehen?
- 12. emulieren subwcrev bei der Verwendung von git-svn
- 13. So löschen Sie einen Zweig bei der Verwendung von Git
- 14. So definieren Sie Beziehungen bei der Verwendung von Schnittstellen
- 15. So organisieren Sie Fixtures bei der Verwendung von Pytest
- 16. So fangen Sie eine OperationCanceledException bei der Verwendung von ContinueWith
- 17. Tortoise SVN Diff Farbcodes
- 18. Warum bekomme ich "MalformedURLException: no protocol" bei Verwendung von SAXParser?
- 19. So erhalten Sie den zugrunde liegenden Socket bei der Verwendung von Python-Anfragen
- 20. Verwenden von Tortoise SVN diff in TFS
- 21. So stoppen Sie alle asynchronen Senken bei Verwendung von Boost.Log
- 22. SVN Diff: Warum werden einige Dateien markiert als binäre
- 23. Ersetzen Sie Visual Studio 2012 Diff Tool mit Winmerge bei der Verwendung von Microsoft Git Provider
- 24. Erhalten ConversationId von Kontext
- 25. Ausnahme bei der Verwendung von BackgroundWorker
- 26. Versionskontrollierte Datenbank mit effizienter Verwendung von Diff
- 27. Wie HTML-Codierung bei Verwendung von Kontext in Django deaktivieren
- 28. Solr erhalten berechnete Entfernung bei der Verwendung von Dismax
- 29. bei der Verwendung von EditorFor
- 30. So erhalten Sie aktuelle Suchergebnisse bei der Suche nach Javadoc
'-x' ist der Erweiterungsparameter für' svn diff', er bewirkt das unmittelbar folgende Token, hier '-U0', an an den diff-Befehl übergeben werden, der mit '--diff-cmd' angegeben wurde, hier' diff'. – valid