2011-08-05 26 views
1

私はSVNにはかなり新しく、それは私を夢中にさせてくれました!ここに基本的な問題があります:SVNが書き込み保護されたディレクトリを無視する方法を教えてください。

私は、ユーザーがソースコードをアップロードできるサイトを作っています。 "submissions"というサブディレクトリには、すべてのアップロードが保存されています。 ウェブサーバーは投稿に対する書き込み権限を持っていますが、私はしません。私はphpやテキストファイルのバージョン管理にSVNを使用していますが、ロックされたままです。可能であれば、私はSVNにアップロードされた投稿のアーカイブを保存したいと思います。ファイルパーミッションのためにSVNを元に戻すことはできません。

問題はSVNがロックを維持していることを示しています。クリーンアップでは「サブミット」は作業コピーディレクトリではなく、変更をコミットしたり、ファイルを削除したり、ワークフロー。助言がありますか?

[[email protected] ~]$ svn commit -m "added report" 
svn: Working copy '/var/www/sites/testPortal' locked 
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) 
[[email protected] ~]$ svn cleanup 
svn: 'submissions' is not a working copy directory 
[[email protected] ~]$ svn remove submissions 
svn: Working copy '.' locked 
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) 
[[email protected] ~]$ ls -la submissions 
total 32 
drwxrwxrwx 7 nginx nginx 4096 Aug 4 03:22 . 
drwxrwxrwx 10 root root 4096 Aug 5 01:36 .. 
drwxr-xr-x 2 nginx nginx 4096 Aug 4 00:04 114 
drwxr-xr-x 2 nginx nginx 4096 Aug 4 02:10 116 
drwxr-xr-x 2 nginx nginx 4096 Aug 4 02:40 117 
drwxr-xr-x 2 nginx nginx 4096 Aug 4 02:15 118 
drwxr-xr-x 2 nginx nginx 4096 Aug 4 03:22 119 
-rw-r--r-- 1 nginx nginx 1 Aug 4 01:51 uploads.txt 

答えて

2

は、おそらく最も簡単なのは、その後、あなたがしているグループにすべてのこれらのファイルをchgrpし、自分が書き込みアクセス権を(グラム+ w)を与える権限を変更することです。グループのスティッキービットを追加するので、作成者(この場合はnginx)がそのグループに属していなくても、そのディレクトリに作成されたすべてのファイルにはディレクトリのグループが割り当てられます。

+0

グループやアクセス権を変更する権限がありません –

+0

+1簡単な方法で説明しました。 多くの人がこのコンセプトを最初に理解するのに苦労しています。 – stefgosselin

+0

@ mark-wilburあなたはおそらく実際には、あなたはウェブサーバー経由でそれを行う必要があります。いくつかのPHPコードを実行するか、何を使っていても、そこで変更を行います。 .svnディレクトリを所有するだけでよい場合もあります。その場合は、まずWebサーバーでルートディレクトリを777に変更してから、所有している.svnを作成してから、ルートディレクトリを元に戻してください。 .svnが書き込み可能であれば、SubversionはOKになります。ただし、ルートだけでなく、すべてのディレクトリに.svnが必要です。 – Ariel

1

問題はあなたには、いくつかのファイルがバージョンコントロールの外になりたいということであれば、あなたは、単にSVNを設定することができます:あなたがしたいディレクトリを保持するディレクトリ内のプロパティを無視します。あなたも、この洞察に満ちSO questionチェックすることができ

は、多く、多少問題に関連するように見える良い点のを持っています。

+0

これは知っておくと良いことです。しかし、それを正しく理解していれば、svnは提出物をアーカイブしていないはずです。 svnがディレクトリ上で読み取り専用になるように指示する方法はありますか? –

+0

、サーバーの設定によっては多分そうかもしれません。 svn * serverside *設定に応じて、svnはユーザベースのアプローチを使用します。そのため、ユーザは作成して、それがあなたの後のものであれば読み取り専用アクセス権を与えられます。あなたがsvnをまったく使っているならば、それは簡単な読み物であり、価値がある無料のsvn本を読んでください。 – stefgosselin

関連する問題