2

インターネット上の読み取り専用リポジトリをインポート (チェックアウト) しました

$ svn co http://some.repo/at/somesite read-only

今、私はこの読み取り専用で作業したいです(また、svnよりもbzrの方が経験が豊富です)、このリポジトリをローカルで作業するためにsvnからbzrリポジトリに変更したいのですが、どうすればそれを行うことができますか? bzr のようなローカルリポジトリ

4

3 に答える 3

4

Subversion を直接使用してコードをチェックアウトしないでください。バザーを使用してください。例えば

bzr svn-import http://feedparser.googlecode.com/svn/ feedparser
cd feedparser
bzr branch trunk mybranch
cd mybranch
bzr checkout
# hack...

詳細については、ドキュメント、bzr wikiのSubversion Migration ページbzr help svn-importを確認してください。

2 番目の質問に対処するには

svn は bzr のようなローカルリポジトリをサポートしていますか?

Subversion はサーバー クライアント モデルに基づいていますが、git、bzr、Mercurial などの分散型 VCS では、すべてが 1 つにまとめられています。Subversion サーバーをローカルで実行することはできますが、SVN リポジトリは1 つの SVN サーバーによってのみ提供される必要があります。分散型 VCS では、リポジトリ全体(または bzr の場合は少なくともブランチ) を複製します。つまり、クローンを提供し、他の人に複製させるために必要なすべてのデータとメタデータを持っていることを意味します。分散型 VCS とは異なり、リポジトリの完全なコピーをローカルに作成することはありませんsvn checkout。ローカルの作業コピーのみを作成しますこれは、リビジョン管理下のファイルとメタデータの一部 (すべてではない) です。SVN リポジトリの作業用ローカル コピーは、リポジトリ自体として機能するには不十分です。その作業コピーをサーバーに置いて、他の人がそこからチェックアウトできるようにすることはできません。

于 2010-12-17T06:33:17.677 に答える
3

bazaarを使用してチェックアウトすることにより、SVNリポジトリを操作するためのツールであるbzr-svnの使用を検討しましたか?

bzrを使用してSVNから簡単にチェックアウトする方法を説明しているbzr-svnのドキュメントを参照してください。

また、SVNの場合、git / mercurial / bazaarのように単純ではなく、マシンにローカルSVNサーバー/リポジトリをセットアップする必要があります。

于 2010-12-17T06:24:27.167 に答える
0

実際、Bazaar は Subversion の作業コピーを直接操作できます。Bazaar リポジトリにチェックアウト/クローンする方が望ましい場合がありますが (bzr checkoutまたはを使用しbzr cloneます。使用する必要はありませんsvn-import)、ほとんどの Bazaar コマンドは、「軽量チェックアウト」を実行したかのように機能するはずです。これを処理するために、Bazaar は ".svn" ディレクトリに "bzr" ディレクトリを作成します。

ただし、これではローカル コミットが許可されないため、この状況では機能しません。幸いなことに、既存のリポジトリを複製することで (またはマスター SVN リポジトリから直接これを行うことで)、Bazaar チェックアウトに移動できます。

# you can clone from the old working copy directory:
bzr clone old-svn-working-copy new-bzr-branch-directory
# or from the original repository:
bzr clone http://some.repo/at/somesite new-bzr-branch-directory

次に、次のように行ったコミットされていない変更を移動できます。

cd new-bzr-branch-directory
bzr merge --uncommitted ../old-svn-working-copy
于 2011-01-26T22:17:18.043 に答える