SVN コマンドラインを使用して、現在の作業コピーの URL からブランチを作成するにはどうすればよいですか? (ローカルの変更がある可能性があるローカルの作業コピーからではありません)
URLを取得するために「svn info」を経由せずに、直接的な方法を探しています。
これはどう?
svn copy ^/@HEAD <Branch URL>
編集
ブランチ、タグ、およびトランクは単なるパスであり、SVN では完全に恣意的であるため、少しクリエイティブにならなければ (たとえば、組み込みの SVN の外で) やろうとしていることを達成できるとは思いません。指図)。あなたがやりたいと思うことを達成するために、bashスクリプトを使用できます(Mac / Linuxを想定):
#!/bin/bash
CURRENT_URL=$(svn info | grep ^URL | cut -d" " -f2)
svn copy $CURRENT_URL "^/branches/$1"
使用法:svnbranch.sh newbranch
`svn help copy' を実行し、その出力を注意深く読んでください。--revision オプションが役立つと思います。
あなたはただ実行することができます
svn copy <URL of existing URI> <New URL>
「svn info」のおかげで、既存の作業コピーの URL を取得できます。
SVN サーバー ツリーには存在しないはずです。そうしないと、実際にその URL にサブディレクトリが作成されます。
コピーはサーバー上で直接行われます。実際、作業コピーを必要とせずに、変更を直接「コミット」します。