1

Ubuntu 10.10でEclipsePHPを使用しており、Mercurial(HG)を使用して、ネットワークに接続されたステージングサーバー(samba共有)にあるリポジトリを操作しようとしています。

Eclipse内からリポジトリを更新しようとすると(hg status実際には)、次のエラーが表示されますabort: Operation not permitted: /media/sharename/myrepository/.hg/.dirstate*

何が問題なのかを突き止めようとしているときに、ターミナルからネットワーク共有にアクセスして書き込みhg statusました。同じエラーが発生するため、Eclipse内からのみ発生しているわけではありません。コンピューターとサーバーの両方からファイルをCHMODするようにテストしましたが、chmod 777 /media/sharename/myrepository/ -R何も変わりません。

しかし、誤っsudo hg statusてリポジトリディレクトリから実行したとき、Mercurialは花火を開始し、魅力のように機能しました。

私のコンピューターで一体何がうまくいかないのですか?hgルートにならずにコマンドを実行できないのはなぜですか?

4

2 に答える 2

4

このようにネットワークドライブをマウントできます。/ etc / fstab /を開き、次の行を入力します。

// IP_OR_HOSTNAME / DIRECTORY_NAME / MOUNT_DIRECTORY cifs user = sambauser、pass = sambapassword、auto、exec、umask = 002、gid = 1000、uid = 1000、file_mode = 0777、dir_mode = 0777 0 0

それがうまくいくことを願っています。

于 2011-06-28T04:33:33.803 に答える
3

chmodはここでは役に立ちません。サーバー側の所有権とアクセス許可がクライアントに複製されない(サーバーにUNIX拡張機能がない)か、UID/GIDが両方のマシン間で異なります。次の方法でマウントするときに、ファイルの所有権を上書きできます。

mount -t cifs //SERVER/SHARE /MOUNTPOINT -o uid=USERNAME

これはメモリからのものですが、詳細についてはmanmount.cifsを確認してください。また、この場合、NFSなどの代替ネットワークファイルシステムの方が適しているか、sshfsを試してください。

于 2011-02-06T18:42:05.450 に答える