私のリポジトリは
/var/local/svn/my_repository
所有者は
www-data:www-data
今、私は初期のリポジトリ構造を作成したいのですが、現在使用しているのは
sudo svn mkdir file:///var/local/svn/my_repository/{trunk,tags,branches} -m "initial directory structure"
これを使用すると、ディレクトリ trunk、tags、branch は root によって所有されていると想定されますか?
- これは、後でリポジトリを使用するときに問題になるでしょうか?
- トランク、ブランチ、タグが www-data:www-data によって所有されるように初期リポジトリ構造を作成するにはどうすればよいですか? 最初に認証を必要とする http:// URL を使用せずにこれを行う方法はありますか?
ヒントがあればよろしくお願いします!
答え1
を実行するために sudo を使用する必要はありませんsvn mkdir
。リポジトリには独自の権限がありますが、Subversion がそれらを処理します。Subversion のコマンドライン インターフェイス (または Tortoise SVN などの他のインターフェイス) はパブリックである必要があり、使用するためにスーパーユーザー アクセスは必要ありません。ファイルをチェックアウトすると、それらのファイルの所有者はあなたになります。
svn mkdir
は 2 つの異なるモードで実行されます。URL に直接作用して新しいディレクトリもコミットするか、ローカルの作業コピーに作用します。このsvn help mkdir
件については次のように述べられています。
mkdir: Create a new directory under version control.
usage: 1. mkdir PATH...
2. mkdir URL...
Create version controlled directories.
1. Each directory specified by a working copy PATH is created locally
and scheduled for addition upon the next commit.
2. Each directory specified by a URL is created in the repository via
an immediate commit.
In both cases, all the intermediate directories must already exist,
unless the --parents option is given.
を実行しても期待する結果が得られない場合はsvn mkdir URL
、リポジトリをチェックアウトし、 を実行してsvn mkdir
タグ/ブランチ/トランクを作成し、変更をコミットしてみてください。少なくとも、何か問題が発生した場合には、これにより詳細な情報が得られるはずです。