0

このフォルダー構造を持つ通常の svn リポジトリがあります。

conf
dav
db
hooks
locks

どうすれば移行できますか

trunk
branches
tags

私の歴史を失うことなく構造?

4

3 に答える 3

7

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 を切り替えるために使用する必要があります。

于 2013-10-03T17:54:10.330 に答える
1

2 つの非常に異なるものを混同している可能性が非常に高いです。

  • SVN リポジトリの内容
  • SVN リポジトリをディスクに保存する方法

SVN リポジトリのコンテンツを表示するには、何らかのクライアントを使用する必要があります。例: svn.exe (コマンドライン クライアント)、TortoiseSVN (Windows エクスプローラーに統合された GUI クライアント)。trunk-branches-tags の規則は、リポジトリ コンテンツ用です。

ディスク上では、SVN は通常、一連のファイルとフォルダー (conf、dav、...) として保存されますが、それらに触れないでください。SVN がその構造を管理します。そして、この構造はコンテンツの構造とは何の関係もありません。

于 2013-10-03T16:32:51.333 に答える
0

リポジトリhttp://svn.atyourserver/を上記のサブフォルダーにします。

svn mkdir http://svn.atyourserver/trunk作成して新しいフォルダーを作成します (-mコメントには -Parameter も使用する必要がある場合があります)。

ブランチとタグにもこれを行います。

次に、を行いますsvn move http://svn.atyourserver/conf http://svn.atyourserver/trunk。これにより、フォルダー (またはファイル)confがフォルダーに移動さtrunkれ、すべてが subversion リポジトリ内にあるため、履歴が保持されます。

他のフォルダー/ファイルに対してもこれを行います。

于 2013-10-03T15:57:10.787 に答える