Durch das Tippen svn log
wird eine unglaublich lange, nutzlose Liste in einer Befehlszeile ausgegeben. Ich habe keine Ahnung, warum das die Standardeinstellung ist. Wenn ich 300 Einträge auf dem Terminal lesen wollte (oder sogar lesen konnte), hätte ich nichts dagegen, svn log --full
etwas zu tippen oder ähnliches.
Vielleicht denken die SVN-Leute, ich wollte diese Ausgabe einem anderen Programm zuführen. Wenn dies jedoch der Fall ist, wäre es sinnvoller, den ausführlicheren Aufruf für das Programm zu haben - nicht für den Terminalbenutzer.
Wie sehe ich nur einige aktuelle Aktivitäten wie die letzten 5 oder 10 Einträge, um zu sehen, was sich geändert hat?
git log
.Antworten:
limit
Option, zB:Nur die letzten 4 Einträge
quelle
Neben dem, was Bert F gesagt hat , haben viele Befehle, einschließlich,
log
die Option-r
(oder--revision
). Im Folgenden finden Sie einige praktische Beispiele für die Verwendung dieser Option, um Revisionsbereiche anzuzeigen:So listen Sie alles in aufsteigender Reihenfolge auf:
So listen Sie alles in absteigender Reihenfolge auf:
So listen Sie alles vom dreizehnten bis zur Basis der aktuell ausgecheckten Revision in aufsteigender Reihenfolge auf:
Um alles zwischen den angegebenen Daten zu erhalten:
Sie können alle oben genannten Ausdrücke mit der
--limit
Option kombinieren , so dass Sie eine recht detaillierte Kontrolle darüber haben, was gedruckt wird. Weitere Informationen zu diesen-r
Ausdrücken finden Siesvn help log
im entsprechenden Kapitel im Buch Versionskontrolle mit Subversionquelle
svn log .
kann nur die früheste Revision für mich zurückgeben (ebenfalls mitsvn log --limit 4 .
); aber wenn ich anrufesvn log -r HEAD:1 .
, bekomme ich endlich alle Einträge aufgelistet ... Nochmals vielen Dank - Prost!svn log
nur der Änderungsverlauf des aktuellen Pfads angezeigt wird.Ich benutze gerne
-v
für den ausführlichen Modus.Sie erhalten die Commit-ID, Kommentare und alle betroffenen Dateien.
Beispiel für die Ausgabe:
quelle
Leiten Sie die Ausgabe durch
less
oder einen anderen Pager:quelle
Falls sich jemand diese alte Frage ansieht, ein praktischer Befehl, um die Änderungen seit Ihrem letzten Update anzuzeigen:
svn log -r $(svn info | grep Revision | cut -f 2 -d ' '):HEAD -v
LE (danke Gary für den Kommentar)
dasselbe, aber viel kürzer und logischer:
svn log -r BASE:HEAD -v
quelle
svn log -r BASE:HEAD -v
Um das zu ergänzen, was andere gesagt haben, können Sie auch einen Alias in Ihrer .bashrc- oder .bash_aliases-Datei erstellen:
oder was auch immer Sie als Standard wollen
quelle
Wie Sie bereits bemerkt haben, zeigt der
svn log
Befehl ohne Argumente alle an Log - Meldungen, die auf die URL , die Sie Ordner angeben oder auf die Arbeitskopie beziehen , wo Sie den Befehl ausführen.Sie können die
svn log
Ergebnisse jederzeit verfeinern / einschränken :svn log --limit NUM
zeigt nur die erste Anzahl von Revisionen an,svn log --revision REV1(:REV2)
zeigt die Protokollmeldung für die REV1-Revision oder für den Bereich REV1 - REV2 an.svn log --search
zeigt Revisionen an, die dem von Ihnen angegebenen Suchmuster entsprechen (der Befehl ist in Subversion 1.8 und einem neueren Client verfügbar). Sie können nach suchenquelle
Diese Antwort richtet sich an weitere Fragen zu Subversion-Unterbefehlsoptionen. Für jeden verfügbaren Unterbefehl (dh Hinzufügen, Protokollieren, Status ...) können Sie einfach die
--help
Option hinzufügen , um die vollständige Liste der verfügbaren Optionen anzuzeigen, die Sie mit Ihrem Unterbefehl verwenden können, sowie Beispiele für deren Verwendung. Das folgende Snippet stammt direkt aus dersvn log --help
Befehlsausgabe im Abschnitt "Beispiele":quelle
Das SVN-Protokoll ist jedoch immer noch in umgekehrter Reihenfolge, dh die neuesten Einträge werden zuerst ausgegeben, indem sie von der Oberseite meines Terminals gescrollt und verschwunden sind. Ich möchte wirklich sehen die letzten Einträge, dh die Sortierreihenfolge chronologisch sein muss. Der einzige Befehl, der dies tut, scheint zu sein,
svn log -r 1:HEAD
aber das dauert in einem Repository mit etwa 10000 Einträgen viel zu lange. Ich habe mir das hier ausgedacht:Zeigen Sie die letzten 10 Subversion-Einträge in chronologischer Reihenfolge an:
quelle