2011-07-29 25 views
28

私はSVNをLinuxで別の場所に設定していますので、Windowsからの実行可能属性ONでSVNへのシェルスクリプトをチェックインする必要があります。私はSVNからソースをチェックアウトし、定期的なビルドを行うCIとしてBambooを使用します。シェルスクリプトが実行できないというエラーが発生します。 (Bambooはrootとして実行)。"実行"属性をファイルに設定し、WindowsのSVNでチェックする方法は?

実行可能権限を設定する最も良い方法は何ですか?

私はSVNクライアントを使用せず、eclipseを使ってチェックインとチェックアウトを行います。 SVNクライアントが唯一の場合、Eclipseで使用するSVNプラグインと互換性のあるバージョンを見つけるにはどうすればいいですか? 以前は互換性の問題がありました。私がTortoiseのファイルをチェックインしたとき、Eclipseからそのファイルをチェックアウトできませんでした。

+0

この質問のすべては役に立ちますか? http://stackoverflow.com/questions/56149/storing-file-permissions-in-subversion-repository – Chris

+2

なぜSVNは明らかにプログラミングツールであるので、これは「トピック」の投票が非常に多いのかわかりません。 –

+1

おかげさまで、問題をはっきりと理解するのに役立ちます。 – Mark

答えて

27

SVNは、UNIXのファイルパーミッションを無視しています。ファイルのexec権限を設定する方法は、そのファイルのsvnプロパティを変更することです。 Windowsの場合、これを行う簡単な方法はTortoise SVNをインストールすることです。その後コミットした後、Tortoiseを使ってリポブラウザを開きます。実行可能にする必要のあるファイルを見つけて右クリックし、プロパティを開きます。

表示されるダイアログは、[SVNプロパティ]ダイアログです。 [新規]をクリックして新しいプロパティを追加し、ドロップダウンリストから[svn:executable]を選択し、プロパティ値を*に設定します。

これだけです。 [OK]をクリックすると、SVNリポジトリにコミットされます。次回、またはビルドマシンでsvn updateを実行すると、そのファイルはUnix/Linux上で実行可能なアクセス権を持ちます。

+0

Michaelさん、ありがとうございました。前回と同じプロセスでしたが、属性を変更してTortoiseクライアントでチェックしたので、互換性の問題がありました。 – Mark

+0

マイケル、私はあなたの最初の文は、 "コミット時にSVNは、UNIXファイルのアクセス許可を無視"する必要があります "SVNは、ファイルが追加された後にUNIXファイルのアクセス許可の変更を無視する必要があります。 –

41

svn propset svn:executable "*" someScript

構文はとてもsvn:executableキーと"*"が値

someScriptですpropset key valueあるコミット時に、ファイル名

関連する問題