关于版本控制:Mercurial:用于远程开发的 Windows 客户端

Mercurial: Windows client for remote development

我们有一个测试服务器,每个开发人员都有自己的沙箱。事实上,我们的 Web 项目非常庞大,以至于我们无法让开发人员在沙盒中编辑所有内容。例如,有些其他 Web 服务的密码文件是开发人员无权查看的。无论如何,问题是,我们不能允许开发人员将整个项目克隆到他们自己的 PC 上进行开发。所以我们想远程工作。

哪个 Windows 客户端支持 REMOTE mercurial 存储库探索?我知道 tortoiseHG 无法做到这一点。我尝试使用 sftpdrive 软件挂载项目目录,但 tortoiseHG 在我尝试"探索存储库"后就冻结了(可能是因为办公室的带宽低)。

请问,是否有任何适用于 Windows 的 mercurial GUI 客户端可以在 sftp 上运行?


您应该将您的 Web 应用程序分解为多个存储库,并让开发人员只有读/写访问权限(通过克隆、推送和拉取,而不是一些无意义的文件 xfer 协议)。类似于:

1
2
3
4
5
6
7
/webapp  (top level repository)
  |
  +---- secret stuff here
  |
  +---- more secret stuff here
  |
  +---- developer-okay-code-only-repo

其中 /webapp 是修订控制中的整个系统,其中有许多开发人员无法访问的文件,然后在一个子存储库中,开发人员可以从中克隆和拉取(可能是推送到).


没有这样的客户。而且我不认为它会永远存在。客户名单。

如果您的 Web 项目实际上是具有共享资源的 Web 多项目,您可以将存储库拆分为子存储库(subrepo)并在子存储库级别微调权限。

编辑评论:

如果只有在服务器上满足所有事物资源(设备、密码文件等)的唯一环境,则无法在计算机上进行本地开发。要么重构代码并包含不存在资源的模拟,以便开发人员的计算机可以像服务器一样运行,要么继续在服务器上使用沙箱,并在服务器上制作脚本,从暂存存储库中提取更改。