私はこのフレームワークを使用するプロジェクトと共にフレームワークをコーディングしています。プロジェクトはBazaarリポジトリで、フレームワークはプロジェクトの下のサブフォルダにあります。サブフォルダのバザー履歴をエクスポートするには
私はフレームワークにそれ自身のBazaarリポジトリを与えたいと思います。どうすればいいのですか?
私はこのフレームワークを使用するプロジェクトと共にフレームワークをコーディングしています。プロジェクトはBazaarリポジトリで、フレームワークはプロジェクトの下のサブフォルダにあります。サブフォルダのバザー履歴をエクスポートするには
私はフレームワークにそれ自身のBazaarリポジトリを与えたいと思います。どうすればいいのですか?
あなたはsplitコマンドを使用します。
bzr split sub_folder
これはあなたが今エクスポートし、個別に動作することができますサブフォルダに独立したツリーを作成します。
私が知る限り、バザールでこれを簡単に行う方法はありません。 1つの可能性は、元のプロジェクトを取り出し、それを分岐させ、フレームワークに関係のないすべてを削除することです。サブディレクトリ内のファイルをメインディレクトリに移動することができます。かなり雑用ですが、歴史を保存することは可能です。私の知る限りでは
branch project:
.. other files..
framework/a.file
framework/b.file
framework/c.file
branch framework:
a.file
b.file
c.file
、「ネストされた」枝はまだバザールによってサポートされていません。
は、あなたのようなものになってしまいます。 GitはSubversionの外部と同様の振る舞いをする "サブモジュール"をサポートしています。
私はこれをbzr splitでやってみましたが、これは私が期待しているとおりには動作しません。
私は、上記のjamuraaの答えでこのメソッドを使用しました。これは、私が新しいリポジトリタイプに変換するのを煩わせる必要がなかったので、これははるかに優れていました。それはまた、そのリポジトリから完全なチェックアウト/ブランチングが私が望むファイルを再作成したことを意味しました。
しかし、リポジトリには「削除された」すべてのファイルの履歴が保存されていたため、必要以上に多くのスペースが必要でした。それらの 'other'ディレクトリの古いリビジョンを見ることができます)。
Bazaarブランチをそのサブディレクトリの1つにチョッピングして、他のすべての履歴を永久に削除する方法については、より多くのアドバイスをいただければ幸いです。ストリームへ
1)輸出のすべてのあなたの歴史:
使用高速インポートプラグイン(http://bazaar-vcs.org/BzrFastImportは)
bzr fast-export BRANCH > full-history.fi
2)新しいストリームを生成するために歴史をフィルタ:
bzr fast-import-filter -i subfolder full-history.fi > subfolder.fi
3)サブフォルダのみで新しいブランチを再作成する:
bzr init-repo .
bzr fast-import subfolder.fi
は、フレームワークディレクトリに
bzr init .
bzr add .
bzr commit
を行います。
次に、そのディレクトリだけに分岐してマージすることができます。
bazaar higherは、結合を行うまでそのディレクトリを無視します。あなたがそれらのサブディレクトリの変更を追跡しませんの.bzr
bzr branch . mycopy
bzr branch . myothercopy
現在のディレクトリのようなものを行うとき
バザールは理解しています。
これは、ブランチを配置する場所を見つけようとする手間を省きます。
新しいリポジトリのパスから 'subfolder'を削除してチェックアウトされたツリーにない場合は、' -iサブフォルダ/ 'のように' -iサブフォルダ '引数に末尾のスラッシュを追加します。 fast-import-filterは、-i引数で指定した最も深いレベルのフォルダにフィルタリングされた項目をルーティングします。 – kbulgrien