私はgitをtarのようにリポジトリに関連する関数のようにバージョンgit-diff(さらには洗練されたgit-mergeの衝突解決)のようにバージョンアップしたいと思っています。有効なtar
アーカイブをもう一度入手してください。これは何とか達成可能ですか?tarアーカイブをディレクトリとして透過的に扱う方法は?
私は最初にsmudge/clean filtersを使うことを考えましたが、保存されたgit blobのファイル内容を変更することができます。どちらかだけでtar
ファイルとディレクトリ構造体との間に変換しますので、
、今私がhooks使用を考えている(here示唆したように、私はpre-add
フィルタが同様にあった望むものの、pre-commit
とpost-checkout
を...)または、 git objectsで直接配管する(または、妥協点として中間ディレクトリを使用しますが、override the metadata)。私は、この潜在的に非常識な仕事で始める前に、しかし、このいずれかを達成するために
- より良い方法、または
- 既存の解決策はありますか?
私が原因tarにファイルがそれらをより簡単かもしれない治療、圧縮せずにファイルとメタデータの単なる連結されていることを願っていますが、これは強く、Can git treat zip files as directories and files inside the zip as blobs?に関連しています。
2つのtarファイルを比較するには、次のようにします。http://superuser.com/a/706286/4803 - 基本的に '* .tar'に' textconv'を有効にし、各tarファイルの出力をテキストでcatします。彼らはdiff'dすることができます。しかし、私はこれがマージであなたを助けるとは思わない。 –
@JohnZwinckありがとう、それは 'diff'ingに役立ちますが、これはおそらく(これは他のgit磁器との)マージには役に立たないと私は同意します –
あなたはタールを追跡する必要がありますか?なぜディレクトリを追跡しないのですか?チェックアウトを使用してtarを生成することができます(これは無視してください)。これはあなたの質問に答えませんが、あなたの問題を解決するかもしれません。 –