Gelegentlich möchte ich den Text von Änderungslistenbeschreibungen in Perforce durchsuchen. In P4V scheint es keine Möglichkeit zu geben, dies zu tun. Ich kann es tun, indem ich die Ausgabe des Änderungsbefehls in eine Datei umlenke ...
p4 changes -l > p4changes.txt
... (der Schalter -l weist ihn an, den vollständigen Text der Änderungslistenbeschreibungen zu speichern) und dann die Datei zu durchsuchen, dies ist jedoch ziemlich umständlich. Hat jemand einen besseren Weg gefunden?
Antworten:
Wenn der übermittelte Bereich der Änderungsliste den Fokus hat, können Sie mit STRG + F eine beliebige Textsuche durchführen, die Beschreibungen der Änderungsliste enthält.
Die einzige Einschränkung besteht darin, dass nur die Änderungslisten durchsucht werden, die vom Server abgerufen wurden. Daher müssen Sie möglicherweise die abgerufene Nummer erhöhen. Dies erfolgt über die Einstellung "Anzahl der gleichzeitig abzurufenden Änderungslisten, Jobs, Zweigzuordnungen oder Beschriftungen", die Sie finden, indem Sie zu Bearbeiten-> Einstellungen-> Serverdaten navigieren.
quelle
p4 changes -L | grep -B 3 searchstring
-B 3
bedeutet, dass 3 Zeilen vor der übereinstimmenden Zeichenfolge angezeigt werden. Dies sollte ausreichen, um die Änderungs-ID mit 2 Zeilen-Kommentaren anzuzeigen. Sie können sie jedoch nach Bedarf ändern.quelle
Ich benutze p4sql und führe eine Abfrage in der Datenbank "Änderungen" aus. Hier ist das Perforce-Datenbankschema
Die Abfrage sieht ungefähr so aus (ungetestet)
Bearbeiten: Die p4-Optionen wurden hinzugefügt, um mehr als 31 Zeichen in der Beschreibung zurückzugeben.
quelle
Hier ist eine Powershell-Version von Pauls "grep" -Antwort. Wieder sucht es nach der angegebenen Zeichenfolge in der Änderungsbeschreibung und gibt die 3 Zeilen davor zurück, um die Änderungs-ID einzuschließen:
quelle
Warum in eine Datei umleiten, wenn Sie die Ausgabe durchleiten
less
und dieless
Suche verwenden können?Drücken Sie dann, um /zur Eingabe einer Suchzeichenfolge aufzufordern. Danach nspringt man zum nächsten Spiel und Shift+ nspringt zum vorherigen.
Eine Implementierung von
less
für Windows ist als Teil von UnxUtils verfügbar .quelle
Die Verwendung von p4sql ist wirklich die einzige Möglichkeit, effektiv das zu tun, was Sie wollen. Mir ist kein anderer Weg bekannt. Der Vorteil ist natürlich, dass Sie die select-Anweisungen verwenden können, um den Bereich der Änderungslistenwerte (über Datum, Benutzer usw.) zu begrenzen. Ihre Methode funktioniert, wird jedoch sehr schnell umständlich, wenn Sie mehr Änderungslisten erstellen. Sie können den Umfang des Befehls "Änderungen" einschränken, erhalten jedoch nicht die Flexibilität von p4sql.
quelle
Eddie on Games hat seine Perforce Changelist Search 0.1 unter http://www.eddiescholtz.com/blog/archives/130 veröffentlicht
Aber ich benutze gerne meinen Lieblingstexteditor mit dem einfachen: p4-Änderungen -s eingereicht // prog / stuff / main / ...> temp.txt
quelle
Wenn Sie Ihre Befehlszeile immer noch lieben, können Sie ein kleines Perl-Skript schreiben, das:
Verwendung wäre so etwas wie 'p4 -ztag Änderungen -l | yourperlfilter.pl searchterm1 searchterm2 '
Wenn das in Ordnung war, können Sie es in das p4win-Tools-Menü integrieren .
quelle