3

Subversion リポジトリに、少し非標準的な構造の新しいブランチを作成しようとしています: の代わりrepo/trunkorg/trunk/repo. アクセスは、HTTPS プロトコルを使用してのみ利用できます。

私は準標準的な方法 でブランチを作成しようとしていました(注: 以下のコマンドは少し編集されています)

$ svn copy \
  https://svn.example.org/svnroot/ph/org/trunk/repo \
  https://svn.example.org/svnroot/ph/org/branches/foo/repo \
  -m "Create a 'foo' branch of /trunk/repo"

このコマンドにより、奇妙な「パスが見つかりません」というエラーが発生しました。

svn: '/svnroot/ph/org/!svn/bc/71/branches/foo' path not found

次のコマンドのように、許可の問題ではないと思います

$ svn copy \
  https://svn.example.org/svnroot/ph/org/trunk/repo \
  https://svn.example.org/svnroot/ph/org/branches/foo_repo \
  -m "Create a 'foo' branch of /trunk/repo"

成功した

Committed revision 72.

この問題の原因は何ですか? どうすれば回避できますか?


Subversion サーバーはバージョン 1.6.19 (r1383947)、Subversion クライアントは 1.6.17 (r1128011) です。

4

3 に答える 3

18

デフォルトでは、中間ディレクトリをその場で作成することはできません。これを行うための--parentsスイッチがあります。したがって、正しいコマンドは次のようになります。

svn copy --parents \
https://svn.example.org/svnroot/ph/org/trunk/repo \
https://svn.example.org/svnroot/ph/org/branches/foo/repo \
-m "Create a 'foo' branch of /trunk/repo"
于 2012-10-15T01:26:10.943 に答える
1

最初にリポジトリを作成したとき、「svn mkdir branch」を実行してブランチ フォルダーを作成しました。その(現在)存在しないフォルダーへのブランチを作成する前に、 mkdir コマンドを実行して foo を作成する必要があるのは当然です。あなたはそれを試しましたか?

于 2012-10-14T23:34:00.953 に答える