Tool zum Erstellen einer textbasierten Liste geänderter Dateien aus einem Quellbaum?

Ich suche nach einem Tool, das zwei Quellbäume vergleichen und eine Liste der geänderten Dateien mit ihren Pfaden wie unten gezeigt ausgeben kann. Ich habe heute Araxis Merge und verwende es zum Vergleichen und Zusammenführen von Änderungen mit anderen Entwicklern, aber wenn wir Software in unser Repository-Tool einchecken, benötigen wir eine Liste von Dateien, die einzeln eingecheckt werden können. Das Repository-Tool lässt sich nicht in unser integrieren, IDEdaher ist es ein manueller Prozess. Ich möchte nur ein Tool, mit dem ich eine Liste von Dateien erstellen kann, die in das Repository eingecheckt werden müssen. Ich werde sie manuell einchecken und die Änderungsgründe hinzufügen, hätte aber gerne eine Möglichkeit, die Liste der geänderten/hinzugefügten/gelöschten Dateien nach Möglichkeit automatisch zu erstellen.

Grundsätzlich muss ich in das Tool eingeben.

  1. Quellbaum #1(C:\sourcedir - rev1)
  2. Quellbaum #2(C:\sourcedir_rev - rev2)

Und gibt eine Liste wie unten aus ....

C:\sourcedir\Include\myheader2.h

C:\sourcedir\Source\mysource2.c

C:\sourcedir\Configuration\myconfig2.ini

C:\sourcedir\Include\myheader1.h

C:\sourcedir\Source\mysource4.c

C:\sourcedir\Source\mysource5.c

Vielen Dank!

Antworten (2)

Far-Manager

Far Manager ist eines der leistungsstärksten Dateiverwaltungstools unter Windows. Es hat eine breite Palette von Funktionen. Die relevantesten für Ihre Frage sind:

  • Vergleichen der Dateien in zwei Verzeichnissen
  • Aufzeichnen von Makros, damit Aktionen mit einer einzigen Tastenkombination wiederholt werden können

Im Folgenden finden Sie Anweisungen zum Erstellen einer Liste geänderter Dateien:

  1. Navigieren Sie mithilfe der beiden Bedienfelder in Far Manager zu beiden Ordnern
  2. Vergleichen Sie die Ordner anhand der Reihenfolge F9- C-C
    • Dadurch werden die geänderten Dateien im rechten Bereich hervorgehoben
  3. Kopieren Sie die markierten Dateinamen mit Ctrl+ Alt+Insert
  4. Fügen Sie sie in eine Textdatei ein (oder schreiben Sie sie mit echo Ctrl+v > diff.txt

Das waren viele Tastendrücke, daher ist es sinnvoll, dafür eine Verknüpfung zu erstellen. So geht's:

  1. Verwenden Sie Ctrl+ ., um die Aufzeichnung des Makros zu starten
  2. Geben Sie die obigen Schritte ein
  3. Verwenden Sie Ctrl+ ., um das Makro in einer benutzerdefinierten Tastenkombination zu speichern. Ich habe zum Beispiel Ctrl+ Shift+ verwendet F1.

CtrlSie können + .+ drücken ., um das Makro zu löschen oder zu ändern. Es sollte so aussehen:

Keys("F9 c c CtrlAltIns e c h o Space CtrlV Space > Space d i f f . t x t Enter")

Wenn Sie Ihre festgelegte Tastenkombination verwenden, sollten Sie am Ende eine Datei mit dem Namen erhalten diff.txt, die eine Liste der Namen der geänderten Dateien im rechten Bereich enthält


Weitere erweiterte Vergleichsoptionen sind über das Plug-in Advanced Compare verfügbar, einschließlich der Angabe, ob Unterordner überprüft werden sollen oder nicht und ob die Ergebnisse auf Größe, Inhalt oder beidem basieren sollen:

Es gibt auch andere Datei- und Verzeichnisvergleichs-Plug-Ins, nämlich Deep Compare und Visual Compare

Hinweis: Far Manager funktioniert am besten, wenn er zusammen mit ConEmu verwendet wird, das Multi-Tabs und andere erweiterte Funktionen bietet.

Das Befehlszeilentool diffkann dies tun. Siehe https://stackoverflow.com/questions/6217628/diff-to-output-only-the-file-names

diff -qr dir1 dir2

Sollte tun, wonach Sie suchen.

Unter Windows können Sie dafür so etwas verwenden cygwin.