gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 11:42:13 25 4
gpt4 key购买 nike

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

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

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

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

谢谢!

最佳答案

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

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

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

如果您需要比这更专业的文件权限,则需要在 hg update 之后设置它们。在您的构建机器上。可以为此使用 Hook ,或者您可以编写扩展程序。我认为没有 existing extension这样做,但保存和恢复 checkout 文件的修改时间的扩展应该是一个很好的起点。

关于Mercurial 和从 Windows 客户端修改 UNIX 文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18922718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com