Mercurial hg更新错误
我在尝试运行Mercurial hg更新错误,mercurial,Mercurial,我在尝试运行hg update时遇到以下错误: abort: Operation not permitted: /var/www/simira/web/public/images/nominations/13/big/4f196667cf5a2.jpg 以下是一些信息: $ cd /var/www/simira/web/public/images/nominations/13/big/ $ ll ./4f196667cf5a2.jpg -rw-rw-r-- 1 martin portades
hg update
时遇到以下错误:
abort: Operation not permitted:
/var/www/simira/web/public/images/nominations/13/big/4f196667cf5a2.jpg
以下是一些信息:
$ cd /var/www/simira/web/public/images/nominations/13/big/
$ ll ./4f196667cf5a2.jpg
-rw-rw-r-- 1 martin portadesign 15356 Feb 2 22:10 4f196667cf5a2.jpg
$ ll -d ./
drwxrwxr-x 2 martin portadesign 4096 Feb 2 22:10 ./
$ id
uid=5004(clime) gid=5007(portadesign) groups=5007(portadesign),10(wheel),48(apache)
请告诉我出了什么问题…问题是由hg试图更改文件权限引起的:
$ sudo hg update
$ ll ./4f196667cf5a2.jpg
./ -rwxrwxr-x 1 martin portadesign 15356 Feb 2 22:10 4f196667cf5a2.jpg
可以看出,它向图像中添加了可执行位。这是hg唯一能精确跟踪的位,而且似乎没有“关闭”选项。问题是只有文件的所有者才能更改其权限。您是否具有该文件的写入权限?(你是“马丁”吗?)不,但我在小组里,嗯,我能想到的只有文件权限问题。我想看看你是否可以手动覆盖该文件。否则,我不知道。
操作不允许
是POSIX错误EPERM
,这与权限被拒绝
(EACCES
)不同,因此这不是文件权限问题。我认为给出的信息不足以确定真正的原因,尽管(多么糟糕的错误消息…@larsmans:Mercurial没有比操作系统错误更多的信息。但您是对的,最好打印抛出错误的上下文。一种不那么用户友好的方法是添加--traceback
以获得完整的回溯。这显示了该验证被抛出。我经常遇到这个问题,快速地chown
,一切都很顺利。谢谢你的回答。