web-dev-qa-db-ja.com

TortoiseSvnおよびWindowsServer2008のユーザーアカウント制御

ここに質問があります:
TortoiseSvnはユーザーアカウント制御をオフにせずにWindows 2008で動作できますか?

ストーリーは次のとおりです。テストサーバーをWindows2008に移動したところ、TortoiseSvnで問題が発生しました。管理者としてログオンしていますが、Subversionリポジトリからコードを更新しようとすると、次のようなメッセージが表示されます。エラーファイル 'C:\ dev\trunk.svn\entries'を設定できません。 -書き込み:アクセスが拒否されましたそのようなメッセージを見たことがあり、クリーンアップを実行することを知っています。しかし、クリーンアップを実行すると、次のようになります。クリーンアップは次のパスの処理に失敗しました:C:\ dev\trunk

したがって、さらに調査すると、アクセス許可に問題があることがわかります。コマンドからsvn statusを実行すると、ディレクトリがロックされて実行されていることが表示されますsvn cleanup亀のクリーンアップと同じように失敗します。しかし、管理者としてコマンドプロンプトを起動すると、問題なくsvn cleanupを実行でき、svn upを実行してファイルを更新できます。

更新:これはWindowsUACのアクセス許可の問題です。 UACをオフにすると、問題が修正されます。しかし、UACをオフにする必要のないソリューションを見つけたいと思います。 TortoiseはWindowsシェルの拡張機能であるため、管理者として実行する方法がわかりません。

助言がありますか?

29
Mark Arnott

作業コピーのc:\ devフォルダーを右クリックし、コンテキストメニューから[プロパティ]を選択します。プロパティダイアログで、[セキュリティ]タブに移動します。管理者ユーザーがフルアクセス権を持っていないことに気付くでしょう(ユーザーはそこにリストされていません)。管理者ユーザーを追加し、フルアクセス権を付与します。

はい、管理者ユーザーは通常、すべてのフォルダーへのフルアクセス権を持っていますが、UACプロンプトの後でのみです。通常、アプリケーションはUACプロンプトを提供しませんが、代わりにアクセス拒否エラーを受け取ります。管理者ユーザーにUACプロンプトなしでそのフォルダーへのフルアクセスを許可するには、そのユーザーを手動で追加する必要があります。

38
Stefan

所有権を取得し、C:\ Dev\Trunk.svnと子を完全に制御します。それはあなたの問題を解決するはずです。

UACをオフにしないことをお勧めします。ただし、オフにする必要がある場合は、コントロールパネル\ユーザーアカウント\ユーザーアカウントをオンまたはオフにすることでオフにできます。

9
Franci Penov

SVN 1.9.3に更新したばかりですが、開発サーバーでSVNを使用して、Webサイトファイルをチェックアウトすることにより、リポジトリから直接テストサイトを更新しています。元のチェックアウトを実行しなかったユーザーには、SVN更新を実行する権限がないことがわかりました。さて、これらのユーザーはすべて管理者グループの一部であり、それでも問題ではありませんでしたが、非常に奇妙なことに、Everyoneグループをチェックアウトフォルダーに追加すると、誰でもSVNを実行できるようになりました。更新。

追加されるすべてのグループがこれを実行できる理由がわかりません。Administratorsグループの誰も実行できません。

Administratorsグループが完全に制御できること、およびすべてのサブディレクトリとファイルに伝達されることを確認しました。それは問題ではありませんでした。

他の誰かがこれについて説明しているなら、それは非常に役に立ちます。

0
David Anderson

UACがオンになっているWindowsVistaSP1でTortoiseSVNを使用しています。問題はありませんでした。 VistaSP1とWindows2008は基本的に同じオペレーティングシステムであるため、別の問題が発生している可能性があります。

SVNは一時ファイルの名前を変更しますが、共有違反がある場合は特に堅牢ではありません。一部のウイルス対策製品は、SVNが(一時的な)ファイルを閉じたばかりであることを検出することがわかりました。彼らはそれをスキャンし、スキャンしている間、SVNはそれの名前を変更しようとします-共有違反:ブーム。検索インデクサーが同じ問題を引き起こすことがあります。

ソースディレクトリのインデックス作成を停止できるかどうか、またはAVがそれらに対してリアルタイムスキャンを実行できないようにすることができるかどうかを確認してください。ディレクトリを除外することも、TortoiseProc.exeプロセスを除外することもできます。

0
Roger Lipscombe