Git finde alle Binärdateien im Verlauf

Tut mir leid, wenn dies ein Duplikat der vorherigen Frage ist, aber ich konnte nicht genau das finden, wonach ich suche. Ich bin dabei, einen großen CVS-Codesatz (über 20 Repositories mit 15 Jahren Geschichte - 10-15 GB Größe) in Git umzuwandeln. Ein Großteil der Größe ist auf Binärdateien zurückzuführen, die in der Vergangenheit zusammen mit dem Code festgeschrieben wurden. Während einige der Binärdateien Dateien sind, die vollständig entfernt werden können, ist es wünschenswert, viele davon sowie deren Verlauf beizubehalten. Wir wollen jedoch nicht, dass das Repo aufgebläht wird.

Wir planen derzeit die Verwendung von git-fat zum Speichern der Binärdateien, aber ich bin gerade dabei, ein Skript zum automatischen Konvertieren der Dateien zu schreiben. Mein erster Schritt ist, einfach zu versuchen, alle Dateien im Repo (einschließlich gelöschter Dateien) zu identifizieren, die Binärdateien sind. Gibt es einfache Ansätze, um dies zu erreichen? Danke für Ihre Hilf

Bearbeite

Ich glaube tatsächlich, ich habe einen vernünftigen Ansatz gefunden, bei dem ich gerade renne

git log --numstat <first commit hash> HEAD

Dies druckt eine Liste aller Dateien mit zwei Spalten vor, die erste enthält die Anzahl der Änderungen an der Datei (ich bin nicht sicher, ob es sich um Bytes oder Zeilen handelt). Der wichtigste Teil ist jedoch, dass es sich bei Binärdateien um '-' handelt. Wenn ich Zeilen mit diesem Tag auswähle und sie "einzigartig" mache, erhalte ich die vollständige Liste der Binärdateien.

Gibt es irgendwelche Fehler bei dieser Strategie?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage