2010-12-30 7 views
0

私は、XMLファイルを含むzipファイルとして構築された一連のファイルをソース管理したいと思います。Subversionマージプラグイン/ポストチェックイン/プリチェックアウトフック

現在、これらのファイルは、これらのファイルは、/解凍を圧縮するプログラマを尋ねる避けるために、XMLファイルを含んでいるので、私がやりたいようにされており、それらは

すべての明白な制限をバイナリファイルとして扱われるでチェックされているので、自動的

のチェックインについては、以下:ファイルを自動的に爆発:

  • これらのファイルは独自の拡張子を持っている、ように、各ファイルに対してその拡張子で確認
  • が所定の順序で
    • 並べ替えルートの直接の子ノードを(マージ/比較するため)、これらの各ファイル(XML)、それらを正規化するためのメモリ/一時場所
    • にそのファイルを解凍(例えばアルファベット順)
    • いくつかのアイテムは、ローカル参照IDを持っているが、ジッパーにして、元のZIPファイルと同じ名前のファイルで
    • チェックをSVNでフォルダを作成し、ソート
  • 後sequentialy IDを書き換えますそのフォルダのチェックアウトについては

:自動的にファイルを再パッケージ化:

    そのフォルダに
  • 郵便番号のすべてのファイル: -あまり重要なのはそのフォルダ/ファイルをチェックアウトするの
  • 代わりにMaven/Antの
  • 爆発したフォルダをチェックアウト(またはそれのいずれかだコンテンツファイル)を使用して行うことができます
  • そして、私は、マージと仮定マージ

    のためにZIPファイル

をチェックアウトするには、SVNサーバ側ではなく、ありますクライアントの責任ではなく、マージプラグインを簡単に書くことができます(例: Tortoiseの場合)

上記のいずれかは可能ですか?もしそうなら、どのように? 1つ以上の方法がありますか?

+0

XMLファイルを保存する理由は何ですか? – maxim1000

+0

これらはパッケージファイルです。これがシステムの生成方法です –

答えて

0

前/後チェックインフックを複雑にする代わりに、これらのzipファイルを作成するアプリケーションの周りにラッパーを作成する方が簡単です。ラッパーは、すべてのファイルを解凍し、それらをフォルダに入れなければならない。

これ以外の方法で説明したとおりです。しかし、複雑さは、すべてのzipファイルに対してこれを行うためのトリガーを持つことです。特定のフォルダからのファイルに対してのみこれを実行し、これらのフォルダセットを別のDBに保持する必要がある場合は、トリガー内に別のフィルタを使用することになります。これらの複雑さを回避するには、アプリケーションの周りにラッパーを作成します。