8 git permissions mercurial file-permissions chmod
有没有办法忽略Mercurial存储库的文件权限/模式(chmod)更改?
我正在寻找类似于Git的设置:
core.filemode -> false
Run Code Online (Sandbox Code Playgroud)
更新:正确答案是Ry4an和我对他答案的第二个评论.
Mercurial只跟踪文件的执行权限,而不是用户/组/其他方式,就像一个位一样,所以根据你想要压制的内容,你可能真的需要调整umask运行的用户hg update'
如果它是获取你的执行位,那么我认为唯一的选择是使用预提交钩子,如:
[hooks]
pre-commit = find $(hg root) -type f -print0 | xargs -0 chmod a-x
Run Code Online (Sandbox Code Playgroud)
在提交之前删除所有文件中的执行.
要仅对版本化文件执行相同操作,请hg locate按照Ish的注释中的指示使用:
[hooks]
pre-commit = hg locate --print0 | xargs -0 chmod a-x
Run Code Online (Sandbox Code Playgroud)
但请注意,在某些情况下这可能会失败.例如,在重命名(hg rename)期间,重命名之前和重命名之后的文件都将被记录为使用版本化hg locate.因此,挂钩将失败到chmod文件的旧名称,并且提交将作为整体失败.这可以通过暂时禁用挂钩或通过/bin/true在挂钩结束时调用来"修复" .
| 归档时间: |
|
| 查看次数: |
7464 次 |
| 最近记录: |