Ich schreibe eine neue Formel für Homebrew für einige Software, die ich pflege, und als Teil meiner Tests möchte ich sicherstellen, dass Dateien bei der Installation nur an den richtigen Stellen hinzugefügt werden und dass alle Dateien bei der Deinstallation entfernt werden.
Was ist der beste Weg, Dateistrukturen vor und nach meinen Testinstallationen und -deinstallationen zu vergleichen?
Im Terminal fallen mir zwei Möglichkeiten ein:
ls -R
.
tree directory-name/
(nachdem Sie es installiert haben; dh brew install tree
). Der Schrägstrich am Ende bewahrt die Anzeige von Sonderzeichen in der Datei, in der die Ausgabe gespeichert wird.
In beiden Fällen leiten Sie die Ausgabe vor und nach der Installation in eine Datei um und vergleichen die beiden Dateien möglicherweise mit Apple FileMerge.app, das mit Xcode geliefert wird.
Ich benutze gerne "find" und "shasum" für diese Art von Aufgabe. Zwei verschiedene Aufrufe, 1 für die Struktur und einer für die sha-1 der Dateien:
find -s /path/to/directory -ls > files-before.txt
find -s /path/to/directory -type f -exec shasum \{} \+ >> files-before.txt
Führen Sie Ihre Installationen/Deinstallationen aus und verwenden Sie dann denselben Prozess für "files-after.txt". Dann
diff files-before.txt files-after.txt
Mir fallen spontan zwei Möglichkeiten ein:
bot47