从 Windows 客户端修改 UNIX 文件权限



我在使用Mercurial时处于特别独特的情况。我的团队正在开发一些运行嵌入式 Linux 的不同硬件架构;因此,我们在桌面Linux和PC上进行大部分代码开发,并在运行各种硬件架构的服务器上进行构建。

在某些情况下,使用 Windows 的人需要将其所有更改推送到汞服务器。但是,服务器和我们所有的构建计算机都运行 Linux,并且需要某些类型的文件具有某些 (UNIX) 文件权限。

我的问题是:是否有可能并且是否有从PC修改UNIX文件权限的工具,或者是否有办法在添加文件和向上推送更改时在Mercurial中设置某种文件权限规则?

请注意,大多数PC用户使用的是TortoiseHG GUI或hg命令行界面。

谢谢!

> Mercurial 只能跟踪文件的两件事:可执行状态和符号链接状态。这意味着您无法存储更复杂的权限(例如,组权限)。

在Windows上,Mercurial不会尝试读取或写入可执行文件和符号链接位。因此,新添加的文件将在Unix上显示为不可执行文件(模式644)和常规文件。使用 hg manifest -v 查看转换回 Unix 约定的权限,但请记住,Mercurial 实际上每个文件只存储两个位。

无法

在Windows上操作存储的位。没有用于设置位的规则系统,但可以编写一个扩展来实现这样的系统。

如果需要比这更专业的文件权限,则需要在生成计算机上hg update后设置它们。钩子可以用于此目的,或者您可以编写扩展。我认为没有现有的扩展名可以做到这一点,但是保存和恢复签出文件的修改时间的扩展应该是一个很好的起点。

最新更新