我在工作站上使用Ubuntu,并且每当尝试提交/推送到LAN中CIFS共享上的Mercurial存储库时,都会抛出此错误:abort: Operation not permitted: /media/repos/myRepo/.hg/journal.dirstate
但是,在任何导致此问题的命令前加上sudo
,将使汞继续运行而不会给我造成任何错误。
我该怎么做就不必每次提交都要sudo
?
最佳答案
您的用户没有/media/repos/myRepo
的写入权限。您可以使用ls -la
检查所有者和权限。根据结果,您应该:
尝试使用chmod
更改权限,以允许您的用户或组进行访问。
sudo chmod -R ug+w /media/repos/myRepo
(
ug+w
表示为该组和所有者用户添加写权限,如果您与所有者位于同一组中,则可以使用该权限。否则,您可以尝试使用+w
将其添加到所有用户,但这会不太安全。)尝试使用
chown
将所有者更改为您的用户或组。sudo chown -R <myuser>:<mygroup> /media/repos/myRepo
(
myuser
和mygroup
都是可选的)另外,请确保在整个存储库上递归使用
chown
和chmod
。如果每次都重新创建journal.dirstate
(我认为会发生这种情况),它将从.hg
目录继承其权限,因此您对文件本身更改的所有权限都可能丢失。