Wie kann ich SVN dazu bringen, Mac-Bundles als ASCII anstelle von Binärströmen zu erkennen?

614
Armin Samii

Ich habe eine Keynote-Datei, in der ich regelmäßig den Text bearbeite, Folien verschieben usw. In der internen .key-XML-Datei werden maximal einige Kilobytes an Daten geändert. SVN erkennt dies jedoch als Bundle und prüft bei jeder Änderung die gesamte .3gb- "Datei" (ich habe viele hochauflösende Videos.) Dies ist eindeutig nicht ideal. Gibt es eine Möglichkeit, SVN dazu zu bringen, Bundles als Verzeichnisse zu erkennen?

Eine ähnliche Antwort für Git wäre ebenfalls willkommen.

5
Wenn es wie ODF- oder OOXML-Dateien zusammengezackt wird, sind Sie wahrscheinlich SOL. Das heißt, ich habe Keynote nicht verwendet, also konnte ich es nicht sagen. Mike Larsen vor 11 Jahren 0
Es ist buchstäblich ein Ordner, aber mit etwas Einstellung, um das Betriebssystem "vorgeben" zu lassen, ist es eine Datei ([Erklärung] (http://guides.macrumors.com/Bundle)). Wenn git es sieht, glaubt es, es sei eine Datei und ignoriert den Inhalt des Verzeichnisses. Ich bin nicht sicher, wann die Komprimierung stattfindet. Armin Samii vor 11 Jahren 0
Ich denke, es ist ähnlich wie es .app "Dateien" behandelt. Können Sie ein "ls" für das Paket machen und den Inhalt des Verzeichnisses erhalten? Mike Larsen vor 11 Jahren 0
Sieht aus, als habe ich mich geirrt. Die Keynote ist eine Zip-Datei und kein Bundle. Mit den richtigen Suchbegriffen fand ich einen Blog mit einem Start: http://tante.cc/2010/06/23/managing-zip-based-file-formats-in-git/ - dies ermöglicht "git diff" entpacke die Dateien und schaue dir den Unterschied an. Ich werde versuchen, dies mit Commits zu kombinieren. Armin Samii vor 11 Jahren 1
Bitte fügen Sie Ihren Kommentar als Antwort hinzu, damit dieser nicht als "unbeantwortet" angezeigt wird. JonnyJD vor 11 Jahren 0
Ich habe die Informationen aus den Kommentaren und ein wenig Recherche in Keynote-Dateien zu einer Antwort verfeinert. JonnyJD vor 11 Jahren 0
Sie können Keynote-to-Text verwenden, um Keynote-Dateien zu unterscheiden. Es integriert sich nahtlos in GitHub: https://github.com/robertoaloi/keynote-to-text Roberto Aloi vor 11 Jahren 0

1 Antwort auf die Frage

1
JonnyJD

Up to Keynote' 06 the .keynote file was actually a folder 1 like you mentioned. However, later the .key format is used and this is a zip file. 2

ZIP files are not a good format to be diffed, but you can add unzip as a diff handler in git.

You can also save the presentation in the old .keynote format. If svn still thinks the file is binary, you can use svn add --no-auto-props or svn propdel svn:mime-type. Files with no mime-type are treated as text files by subversion. 3