私のCygwin SVNクライアントは、バージョン1.6.17と1.7.4の間でWindows ACLに関する動作が変更されました。Cygwin SVNチェックアウトACLの問題
[更新:] SVN 1.7.4と1.6.17は、実際には同じ動作をしています。問題は他のところにあります。私が得られなかったことは、おそらくCygwinのアップデートで動作が停止した点です。 ]
[UPDATE: Cygwinの内蔵SVNクライアントは、実際には、現在のユーザーのために実行可能なACLのビットを設定することにより、svn:executable
キーワードを称えます。 SVN本の "Windowsの下では効果がない"という言葉は慎重に取らなければならない。 ]
1.7.4でチェックアウトを実行すると、抽出されたすべてのファイルが現在のユーザーに対して読み取り専用に設定されます。たとえば、私の特定のケースでは迷惑なことですが、バッチに対して実行フラグを設定しません。ファイルのプロパティでは、[セキュリティ]タブにEveryone
の場合はRead
、現在のユーザーの場合はRead
/Write
となります。
チェックアウトを1.6.17で実行しても、この動作は表示されません。ファイルはユーザフレンドリーな権利でチェックアウトされ、バッチを実行できます。ファイルのプロパティでは、[セキュリティ]タブでEveryone
の場合はRead & execute
/Read
、現在のユーザーの場合はModify
/Read & execute
/Read
/Write
となります。これはチェックアウト時に予想されます。そのチェックアウトはスクリプト化されたプロセスの一部なので、環境は両方のテストシナリオで同じです。
私はsvnチケットでその動作については言及しておらず、運の検索もありませんでした。結果のほとんどは、サーバー側の構成に関連しています。
私はACL/NTFSのエキスパートではありません。私はhttp://cygwin.com/cygwin-ug-net/ntsec.htmlでCygwinのposix/windowsの記事を読んだが、その違いを明確にしていない。
- 私はsvn:executableキーワードを試しましたが、期待通りWindowsでは効果がありません。
- Windows 7でもXPでも同じ違いがあります。
- TortoiseSVN 1.7.6(「ネイティブ」SVN 1.7.4用に構築された)がチェックアウトを正しく実行することに注意しました。
- 私はデフォルトの新鮮なインストール
/etc/fstab
を空にしており、/etc/fstab.d
の設定はありません。
私は1.6.17に満足できませんが、1.7.4の機能のいくつかは面白いです。
どうすれば奇妙なアクセス権の問題を解決できますか?
なぜここでcygwinを使用しますか?確かにネイティブsvnクライアントが必要なものです。 –
@DavidHeffernan合意。しかし、チェックアウトを実行するスクリプトは、実際にはCygwinツールを前提条件として使用しています。おそらく、プロセス内に外部svnを導入すると、害よりも害が大きくなり、実行されるプラットフォームの構成が複雑になります。このスクリプトはリモートbuildbotワーカーで動作します。 – TallFurryMan