このフォルダー構造を持つ通常の svn リポジトリがあります。
conf
dav
db
hooks
locks
どうすれば移行できますか
trunk
branches
tags
私の歴史を失うことなく構造?
このフォルダー構造を持つ通常の svn リポジトリがあります。
conf
dav
db
hooks
locks
どうすれば移行できますか
trunk
branches
tags
私の歴史を失うことなく構造?
2 つのことが混乱しています。1 つ目は、リポジトリの表現です。2 つ目は、リポジトリが物理的にどのように構成されているかです。何をしても、リポジトリは常にその物理構造を持っています。
あなたの質問を本当に理解するには、表現構造を示す必要があります。これを行うには、次のコマンドを実行します。
$ svn ls $REPO
$REPO
リポジトリのルート URL はどこですか。たとえば、どのようにプロジェクトをチェックアウトしますか? このような?
$ svn checkout http://svn.firstvegibankcorp.com/svn/project
その後$REPO
になりますhttp://svn.firstvegibankcorp.com/svn
。
幸いなことに、いつでも を使用svn mv
して物を移動できます。正確なコマンドを回答に追加しますが、現在のレイアウトはわかりません。
branches
、 、tags
、およびtrunk
ディレクトリがまったくないと仮定人々がセットアップなしでファイルをチェックインしたとしましょう:
$ shop -s extglob # Assuming BASH. No need to do this with Kornshell
$ svn co --depth=immediates $REPO workdir # Checks out first level of the directories
# cd workdir
$ svn mkdir trunk # Create the "trunk" directory
$ svn mv !(trunk) trunk # Moves all files and directories to under trunk
# svn mkdir branches tags # Make the rest of the structure
$ svn commit -m"Creating basic directory structure. # That's it!
もう 1 つの方法は、物理リポジトリのダンプとロードを行うことです。リポジトリを停止し、ダンプを作成してから、ロードを使用して新しいバージョンを作成します。--parent-dir
次のパラメータを指定できます。
$ ssh $SVN_REPO_SYSTEM
$ cd /opt/svn_repos
$ svnadmin create new_repo
$ svnadmin dump repo | svnadmin load --parent-dir trunk new_repo
これにより、物理リポジトリのダンプが取得され、すぐに新しいリポジトリにロードされます。すべての履歴とリビジョンが保持されます。ただし、リポジトリの表現構造のルートではなく、trunk
ディレクトリの下になります。ユーザーはsvn switch
、新しいリポジトリ構造に一致するようにローカル作業ディレクトリの URL を切り替えるために使用する必要があります。
2 つの非常に異なるものを混同している可能性が非常に高いです。
SVN リポジトリのコンテンツを表示するには、何らかのクライアントを使用する必要があります。例: svn.exe (コマンドライン クライアント)、TortoiseSVN (Windows エクスプローラーに統合された GUI クライアント)。trunk-branches-tags の規則は、リポジトリ コンテンツ用です。
ディスク上では、SVN は通常、一連のファイルとフォルダー (conf、dav、...) として保存されますが、それらに触れないでください。SVN がその構造を管理します。そして、この構造はコンテンツの構造とは何の関係もありません。
リポジトリhttp://svn.atyourserver/
を上記のサブフォルダーにします。
をsvn mkdir http://svn.atyourserver/trunk
作成して新しいフォルダーを作成します (-m
コメントには -Parameter も使用する必要がある場合があります)。
ブランチとタグにもこれを行います。
次に、を行いますsvn move http://svn.atyourserver/conf http://svn.atyourserver/trunk
。これにより、フォルダー (またはファイル)conf
がフォルダーに移動さtrunk
れ、すべてが subversion リポジトリ内にあるため、履歴が保持されます。
他のフォルダー/ファイルに対してもこれを行います。