2011-01-08 12 views
2

Wie kann ich den Inhalt der zwischengespeicherten Datei im Index eines Pfads auf beliebigen Inhalt festlegen, ohne die Datei (en) im Arbeitsbaum zu ändern? Zum Beispiel möchte ich in der Lage sein, den zwischengespeicherten Dateiinhalt von some_file.xml auf den Inhalt einer temporären Datei zu setzen, ohne den Inhalt von some_file.xml zu ändern.So legen Sie den Inhalt der zwischengespeicherten Datei im Index auf einen beliebigen Inhalt fest

Der Punkt ist, dass ich ein XSL-Stylesheet geschrieben habe, das vertrauliche Informationen aus bestimmten XML-Dateien entfernt. Ich möchte ein Skript schreiben, das den zwischengespeicherten Dateiinhalt der XML-Dateien durch das transformierte XML ersetzen kann. d. h. some_file.xml wird mit der XSL in .some_file.xml.tmp transformiert und das Skript sollte den Index für some_file.xml mit dem Inhalt .some_file.xml.tmp aktualisieren, ohne den Inhalt von some_file.xml zu beeinflussen.

Antwort

2

Sie können git hash-object -t blob -w .some_file.xml.tmp verwenden, um den Inhalt der temporären Datei als Blob in die Objektdatenbank einzufügen. Der sha1 dieses Blobs wird auf stdout zurückgegeben. Sie können dieses sha1 dann mit git update-index --index-info oder git update-index --cacheinfo verwenden.

+0

Das ist perfekt! Vielen Dank. –

Verwandte Themen