2008-09-15 1 views
4

私はこのフレームワークを使用するプロジェクトと共にフレームワークをコーディングしています。プロジェクトはBazaarリポジトリで、フレームワークはプロジェクトの下のサブフォルダにあります。サブフォルダのバザー履歴をエクスポートするには

私はフレームワークにそれ自身のBazaarリポジトリを与えたいと思います。どうすればいいのですか?

答えて

6

あなたはsplitコマンドを使用します。

bzr split sub_folder 

これはあなたが今エクスポートし、個別に動作することができますサブフォルダに独立したツリーを作成します。

0

私が知る限り、バザールでこれを簡単に行う方法はありません。 1つの可能性は、元のプロジェクトを取り出し、それを分岐させ、フレームワークに関係のないすべてを削除することです。サブディレクトリ内のファイルをメインディレクトリに移動することができます。かなり雑用ですが、歴史を保存することは可能です。私の知る限りでは

branch project: 
.. other files.. 
framework/a.file 
framework/b.file 
framework/c.file 

branch framework: 
a.file 
b.file 
c.file 
0

、「ネストされた」枝はまだバザールによってサポートされていません。

は、あなたのようなものになってしまいます。 GitはSubversionの外部と同様の振る舞いをする "サブモジュール"をサポートしています。

0

私はこれをbzr splitでやってみましたが、これは私が期待しているとおりには動作しません。

  • 結果ブランチには、元のすべてのディレクトリのすべてのファイルの履歴が含まれており、完全なチェックアウトによってすべてのファイルが取得されます。分割された唯一のことは、リポジトリを豊富なルートリポジトリに変換して、この特定のツリーを特定のサブディレクトリにすることができますが、リポジトリにはまだ他のすべてのディレクトリが含まれており、他のチェックアウトはツリー全体を取得できます。

私は、上記のjamuraaの答えでこのメソッドを使用しました。これは、私が新しいリポジトリタイプに変換するのを煩わせる必要がなかったので、これははるかに優れていました。それはまた、そのリポジトリから完全なチェックアウト/ブランチングが私が望むファイルを再作成したことを意味しました。

しかし、リポジトリには「削除された」すべてのファイルの履歴が保存されていたため、必要以上に多くのスペースが必要でした。それらの 'other'ディレクトリの古いリビジョンを見ることができます)。

Bazaarブランチをそのサブディレクトリの1つにチョッピングして、他のすべての履歴を永久に削除する方法については、より多くのアドバイスをいただければ幸いです。ストリームへ

1)輸出のすべてのあなたの歴史:

6

使用高速インポートプラグイン(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 
+2

新しいリポジトリのパスから 'subfolder'を削除してチェックアウトされたツリーにない場合は、' -iサブフォルダ/ 'のように' -iサブフォルダ '引数に末尾のスラッシュを追加します。 fast-import-filterは、-i引数で指定した最も深いレベルのフォルダにフィルタリングされた項目をルーティングします。 – kbulgrien

0

は、フレームワークディレクトリに

bzr init . 
bzr add . 
bzr commit 

を行います。

次に、そのディレクトリだけに分岐してマージすることができます。

bazaar higherは、結合を行うまでそのディレクトリを無視します。あなたがそれらのサブディレクトリの変更を追跡しませんの.bzr

bzr branch . mycopy 
bzr branch . myothercopy 

現在のディレクトリのようなものを行うとき

バザールは理解しています。

これは、ブランチを配置する場所を見つけようとする手間を省きます。

関連する問題