我想在一台机器上设置一些Mercurial的“中央”存储库。 有几件事我需要工作,虽然: 每个存储库应该有自己的ACL,允许不同的用户推/拉 它不应该以ssh为基础(它不应该要求用户在该机器上拥有shell帐户) 所以,我想这给我留下了一些基本authentication的https ,对吧? 有没有提供这种function的工作解决scheme?
我想要设置一个Mercurial存储库,但是不是在存储库树下有.hg/目录,而是希望将它从工作副本移到某个地方(如其他分区)。 有没有可能这样做?
正如问题所问,我如何生成RedHat的用户apache SSH密钥? 我的用例是,我们有一个运行在Apache用户下的mercurial服务器。 我们也有几个Web服务器集群,我们需要login到手动并从中拉。 理想情况下,我们想要做的是让mercurial服务器将所有更改推送到群集中的所有Web服务器。 要做到这一点,我们要使用ssh,因为在每个Web服务器上设置http mercurial服务器似乎工作太多了,而且太重了。 我试图做的是以下几点: > sudo mkdir /var/www/.ssh > sudo chown -R apache:nobody /var/www/.ssh > su – apache -c "ssh-keygen -t rsa" This account is currently not available. 我在其他地方find了上述命令,但是我只能假定Redhat与上面使用的任何发行版都有区别。 有没有一种方法可以为apache用户生成一个ssh-key?
我一直在使用BitBucket作为回购。 现在我想build立我自己的仓库,我希望它有类似的function(特别是我想推,有一些Web界面等)。 你会怎么做? 有没有简单的解决scheme?
我们目前使用svn,并通过钩子的用户,能够确保每个提交消息的前缀都是一个bug数字(它将这些提交与Bugzilla问题跟踪器中的问题报告联系起来)。 我们希望转移到所有分发的善意。 但是hg的好处之一就是开发人员不一定需要在线提交更改,所以我们不希望钩子脚本根据我们的中央Bugzilla资源validation错误号。 我可能从svn的angular度来看太多了,但我想我想要的是开发人员能够在开发人员决定将其变更推向中央testing回购时指定一个错误编号。 这里的关键要求是,我们希望能够将提交与Bugzilla的bug联系起来,但我们不希望为开发人员提供复杂的手动工作stream程(例如,Attic扩展似乎强加于此)。 有任何想法吗?
问题 我们希望将我们的关键文件从多个networking共享备份到可移动硬盘。 我们希望自动备份,所以我们不必记得运行它。 它需要在一夜之间完成。 此外,我们希望能够保留每个文件的多个版本,以便我们更容易地退出用户的错误。 背景信息 我在一个大型的基于Windows的企业中工作,负责所有的备份。 他们的备份面向灾难恢复,而不是用户错误,并要求上级pipe理层批准任何非灾难恢复。 有好几次我们注意到我们的备份失败了,我们没有通知。 我没有服务器或桌面的pipe理权限。 我们正在尝试备份大约240千兆字节的大约198,000个文件。 这些文件很less改变。 我们的备份驱动器是一兆兆字节。 我的build议解决scheme 我想要做的是使用带有/ mir选项的Robocopy和Mercurial SCM编写batch file来存储文件的所有版本。 在每次执行Robocopy之前,我都会先执行hg add,然后执行hg commit来保存当前状态,然后创build文件结构的镜像副本。 问题是/ mir将删除源文件中不存在的每个文件夹,并且Mercurial将存储库存储在目标文件夹中的.hg文件夹中。 有人知道我怎么能说服Mercurial存储在其他地方的.hg文件夹,或说服Robocopy不要从目的地删除它? 我试图避免写一个自定义程序来做复制。
是否有与VisualSVN Server等价的Mercurial? 我想为安装嵌套仓库的mercurial仓库安装一个http web服务器。 使用文档很难得到我想要的。
我正在运行中央储存库,并且我知道,如果远程用户试图强制多个“头部”到我的中央存储库,正常的“push”命令将会停止。 意图是远程用户应该先尝试再次推送和合并。 不过,使用hg push –force会覆盖这个。 我想阻止这种行为。 我目前使用hgwebdir.cgi加上一些apache-auth的东西来限制用户拉和推的能力。 编辑:pretxnchangegroup钩解决了这个问题。 胡克工作: #!/bin/bash # force-one-head # add the following to <repository>/.hg/hgrc : # [hooks] # pretxnchangegroup.forceonehead = /path/to/force-one-head if [[ `hg heads -q | wc -l` -gt 1 ]]; then echo "There are multiple heads." echo "Please 'hg pull' and get your repository up to date first." echo […]
所以我试图在Ubuntu 10.04上安装Mercurial。 首先,我使用ppa回购,但得到了一个pythonpath错误,我放弃了。 接下来的尝试是从源代码安装,一切都很顺利,除了找不到hg: $ hg -bash: /usr/bin/hg: No such file or directory 但是,hg安装在/ usr / local / bin /中: $ which hg /usr/local/bin/hg PATH包含这个目录,为什么没有findhg? $ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 如果我用完整的path执行hg,它的工作原理是: $ /usr/local/bin/hg –version 任何帮助真的很感激!
我正在设置nginx来提供Mercurial存储库。 它在不使用基本身份validation的时候,或者当我使用基本身份validation的时候都可以工作。 我想要做的就是对POST请求使用基本的身份validation,所以任何人都可以访问,但只有经过身份validation的用户才能进行访问。 我尝试了以下, if ($request_method = POST) { auth_basic "Restricted"; auth_basic_user_file /path/to/userfile } 但它抱怨“auth_basic指令不允许在这里”。 我该如何解决这个问题?