1


0

リポジトリのダンプされた部分をロードしても効果がありません

フォルダーをあるリポジトリーから別のリポジトリーに移動したい(もちろん、すべての履歴を保持しながら)。 「https://stackoverflow.com/questions/417726/how-to-move-a-single-folder-from-one-subversion-repository-to-another-repository[How to 1つのフォルダーを1つのSubversionリポジトリから別のリポジトリに移動しますか?] "特に、次のコマンドを試しました。

svnadmin.exe dump H:\Repositories\RepSource > W:\temp\RepSource.dump
svndumpfilter.exe include "trunk\Sources\folderToMove" --drop-empty-revs --renumber-revs --preserve-revprops < W:\temp\RepSource.dump > W:\temp\RepSource_filtered.dump
svnadmin.exe load "H:\Repositories\RepDest" < W:\temp\RepSource_filtered.dump

RepDestは、テスト用に作成した空のリポジトリです。 ダンプは正常に実行されます。出力によると、指定したフォルダ以外のすべてのフォルダが削除されたことを示すフィルタリングも行われます。 ロードにはいくつかの問題があります。出力があります:

_ _

<<< Started new transaction, based on original revision 1
 * editing path : trunk/Sources/folderToMove/theFile.mxml ...svnadmin: File not found: transaction '0-1', path 'trunk/Sources/folderToMove/theFile.mxml'

_ _

「theFile.mxml」は、「folderToMove」フォルダー内にあるファイルです。

いくつかの魔法に気付きました:svndumpfilterで、インクルードパスの最後にバックスラッシュを追加しました:

svndumpfilter.exe include "trunk\Sources\folderToMove\" --drop-empty-revs --renumber-revs --preserve-revprops < W:\temp\RepSource.dump > W:\temp\ RepSource_filtered.dump

出力は以下のとおりです。

_ _

<<< Started new transaction, based on original revision 1

------- Committed revision 1 >>>

<<< Started new transaction, based on original revision 2

------- Committed revision 2 >>>

<<< Started new transaction, based on original revision 3

------- Committed revision 3 >>>

<<< Started new transaction, based on original revision 4

------- Committed revision 4 >>>

<<< Started new transaction, based on original revision 5

------- Committed revision 5 >>>

<<< Started new transaction, based on original revision 6

------- Committed revision 6 >>>

<<< Started new transaction, based on original revision 7

------- Committed revision 7 >>>

<<< Started new transaction, based on original revision 8

------- Committed revision 8 >>>

<<< Started new transaction, based on original revision 9

------- Committed revision 9 >>>

<<< Started new transaction, based on original revision 10

------- Committed revision 10 >>>

<<< Started new transaction, based on original revision 11

------- Committed revision 11 >>>

<<< Started new transaction, based on original revision 12

------- Committed revision 12 >>>

<<< Started new transaction, based on original revision 13

------- Committed revision 13 >>>

<<< Started new transaction, based on original revision 14

------- Committed revision 14 >>>

<<< Started new transaction, based on original revision 15

------- Committed revision 15 >>>

_ _

成功しているように見えますが、RepDestリポジトリ(TortoiseSVN→ Repo Browser、またはVisualSVN Server Managerを使用)を調べても、何もありません。 空のままです。 HEADリビジョン番号は0です。 しかし、このリポジトリを次のように見てみると:

svnlook tree H:\Repositories\RepDest -r 5

再び空のリポジトリが表示されますが、リビジョン番号は認識されます。 1から15までのすべてのリビジョン番号が正しく処理されています。 テストのために、「-r 16」を指定すると、svnlookはこのリビジョンが存在しないと私に言います。

RepDestリポジトリフォルダーのサイズも確認しました。これは、ロードの前後で同じです。

ここはどうしたの? 何か案は ?

1 Answer


0


`svnadmin load`コマンドのヘルプを見てください。 リポジトリにディレクトリをロードしたときに、 `--parent-dir`パラメータを指定しましたか? そうしないと、間違ったディレクトリに移動します。

`--parent-dir`パラメータを使用して、現在のリポジトリの存在しないディレクトリにそのディレクトリをロードする必要があります。 表示しているコマンドから、このディレクトリの移動先を指定しなかったようです。 覚えていませんが、ロードを行う前にリポジトリにこの空の親ディレクトリを作成する必要があると思います。

そして、もちろん、 `svnadmin load`を実行する前にSubversionをバックアップしてシャットダウンします。