windows - hg 作为 Windows 服务

标签 windows mercurial service

我想在 Windows 服务器上使用 mercurial。因为我想通过 http 拉和推,hg serve似乎是最简单的解决方案。它工作正常,但每次重启后我都会重新启动它,所以我需要它作为 Windows 服务。使用 sc create ... 手动安装它没有用,它创建了一个服务,当我尝试启动它时会抛出错误。我找到了一些关于这个问题的引用

但如果有的话,它们的记录也很少。 (当然,我也可以装个web服务器,用hgweb,不过好像更复杂。) 有没有经验如何轻松搭建hg serve ... <many args>作为 Windows 服务?

更新: 感谢您提供不同的方法。我们住在hg serve ,我们公司的 windows-guy 设法将其安装为不太合适的服务。

最佳答案

使用诸如 apache/lighttpd/iis 之类的 Web 服务器提供了许多功能,例如身份验证或 HTTPS 支持。但是“hg serve”是一个简单快速的解决方案。此外,“hg serve”可以为多个存储库提供服务。但是 hg serve 本身不能作为 Windows 服务运行,因为它不能响应 Windows 控制命令。所以使用 HgService 是使“hg serve”成为真正的 Windows 服务的好解决方案。

这是我的配置示例。我遵循了以下步骤:

  • 安装 TortoiseHG
  • 安装 HgService
  • 创建“C:\Repositories”文件夹并将所需的 repos 放入其中。
  • 使用以下内容创建“C:\Repositories\hgweb.config”:
[paths]
/ = C:\Repositories\*

[web]
style = monoblue
  • 修改C:\Program Files\Mercurial\HgService中的HgService.exe.config
<add key="CommandLine" value="hg.exe"/>
<add key="CommandLineArguments" value="serve --prefix=/hg --address 0.0.0.0 --port 80 --web-conf c:\Repositories\hgweb.config -A access.log -E error.log" />
  • 启动服务

希望这一系列操作也能对您有所帮助。

关于windows - hg 作为 Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5179585/

相关文章:

c# - 添加应用程序 list 以确保跨 Windows XP、Vista 和 7 提升权限的可靠性如何?

linux - 服务已死但 Amazon EC2 上存在 pid 文件

windows - 如何在没有 regsvr32 的情况下注册 glut32.dll?

Mercurial 存储库内部格式

mercurial - hg rebase 中止失败 : "unknown revision"

svn - 大型项目的分布式版本控制 - 可行吗?

android - BroadcastReceiver 发送通知并在 Activity 时更新 ui, Activity

c# - 使用服务启动应用程序

php - 使用 php 运行 ipconfig 命令

C++ 动态线程