3

リポジトリをダンプしました

svnadmin dump repos > repos.dump

それから私はそれを新しいマシンにロードしました

svnadmin load newrepos < repos.dump

終了すると、新しいリポジトリには最後の数百のリビジョンがありません。

repos.dumpを調べて、リビジョンが欠落していないかどうかを確認できますか?不足しているリビジョンをダンプして、新しいリポジトリにロードできますか?または、最初からやり直す必要がありますか?

リポジトリは3GBであり、適度に低速でインターネットを介して取得する必要があるため、最初から始めるのは面倒です。

編集:解決済み-オペレーターエラー!

そのため、リポジトリを一度(account1からaccount2に)移行したことを忘れ、account1リポジトリを削除したことはありません。リモートアカウントにすばやくSSH接続するbash関数があり、デフォルトでaccount1にログインします(これは考えていませんでした)。リポジトリを見たので、すべてが正常であると判断し、ダンプをaccount3に送信しました(ここでも自分が間違ったアカウントにいることに気付かないようにするためのエイリアス)。

次に、端末でアカウントのユーザー名を明るい赤で表示し、古いリポジトリをそのままにしておくのではなく、キャッシュします。そして、私は自分のプロファイルハックのデフォルトのユーザーの側面を取り除いています。

しかし、私は--incremental不足しているリビジョンを新しい場所に転送するために使用することができました。それで、すべてのアドバイスはまだ役に立ちました。

4

5 に答える 5

4

ダンプは4GBよりも大きいと思います(ダンプはデフォルトでデルタで保存されないため、リポジトリよりもはるかに大きい可能性があります)。ダンプを転送するプロセスの一部のステップは4GBに切り捨てられます。は、一部のファイルシステム(および場合によっては一部のプロトコル)の最大ファイルサイズです。使用しているファイル転送方法によっては、プロセスの一部のステップで2GBで切り捨てられる可能性もあります。

ファイルを調べることで確認できます。リビジョン番号が含まれている必要があり、それらがどれだけ高くなるかを確認できます。

プロセス全体を最初からやり直す代わりに、--incrementalオプションを使用svnadmin dumpして、新しいリポジトリにロードした最後の適切なリビジョンから開始して、増分ダンプを生成できます。インクリメンタルダンプを既存のリポジトリにロードすると、正常に機能するはずです。あなたは次のようなことをします

svnadmin dump --incremental -r 1234:HEAD > repos.2.dump
# Transfer to new system
svnadmin load < repos.2.dump
于 2010-01-12T20:27:12.063 に答える
1

ダンプを実行しているときに、コマンドラインにリビジョン番号を書き込む必要があります。あなたがしたようにファイルにリダイレクトするときでさえ、それは私が得るものです。

ファイル自体を調べて、Revision-number:実際にどのリビジョンが含まれているかを確認できます。

于 2010-01-12T20:26:32.830 に答える
1

すべてのリビジョンがダンプファイルにあることを確認するには、「Revision-number」のgrepを実行します。テキストエディタでファイルを開いて明らかな損傷がないか調べることもできますが、保存しないでください

私がsvnadmin load失敗した主な理由は、すでにコンテンツが含まれているリポジトリにロードしようとしている場合です。loadコマンドは、ダンプファイルを取得する前に、リポジトリが期待される状態にあることを確認するためにチェックします。私は過去に--incremental、リポジトリをダンプするときにフラグを使用してこれを回避しました。

于 2010-01-12T20:27:10.540 に答える
1

repos.dumpを調べて、リビジョンが欠落していないかどうかを確認できますか?

はい。のような行があります

リビジョン番号:XYZ

ダンプファイル内。

不足しているリビジョンをダンプして、新しいリポジトリにロードできますか?

はい。を使用svnadmin loadして、新規または既存のリポジトリにリビジョンをコミットできます。

于 2010-01-12T20:22:24.370 に答える
1

個人的にはまた捨てます。最もわかりやすい答えは、元のダンプが正常に完了しなかったことだと思います。ダンプの実行後にコマンドラインにエラーが表示されましたか?ダンプ自体を調べたい場合は、次のヘルプを参照してください:http: //www.troyhunt.com/2009/12/black-art-of-splitting-subversion.html

考えられるもう1つのことは、元のリポジトリをターゲットの場所に転送することです。データの圧縮バージョンをコピーするので、ダンプをコピーするよりもプロセスが速くなります(転送する前に圧縮したかどうかはわかりません)。

于 2010-01-13T04:03:24.007 に答える