Articles of mercurial

Windows和Mercurial更改类名称的情况

我已经inheritance了一个Java项目,其中包含许多根据UpperCamelCase命名约定命名的类。 对于缩写(例如,HTMLButton而不是HtmlButton)尤其如此。 虽然我知道在使用带有缩写词的CamelCase方面存在一些意见分歧,但是我们希望切换到仅使用大写字母作为缩写的第一个字母。 (目前,似乎有几个同时命名约定。) 我想整理一下。 我们使用Mercurial作为我们的源代码库,并在Windows机器(包括XP,Vista,7)上工作。 但是,如果我将类名从HTMLButton更改为HtmlButton,则Mercurial会将其识别为类名更改,但不会将其更改为文件名。 (随后从Mercurial中取出文件名不会改变。) 我知道Windows在不区分大小写的文件系统上工作,并且我明白当接受从Windows盒推送时,Mercurialselect此function… 所以… – 是否有一个设置可以让Mercurial使用区分大小写的文件名? – 是否有一个设置,我可以改变让Windows使用区分大小写的文件名? (这些是单独的问题,我的首要任务是让Mercurial接受文件名的修改,如果需要的话,我们可以在我们的IDE中手动强制文件重命名,但是直接的解决scheme将是首选!) (如果一切都失败了,我可能会尝试将HTMLButton重命名为HtmlButtonA,提交并推送,并将HtmlButtonA重命名为HtmlButton,并执行另一个提交和推送…但是,我不确定这会对Windows文件名有什么影响其他人在第二次推动之后只做了一次拉…)

hg作为Windows服务

我想在Windows服务器上使用mercurial。 因为我想通过http来拉和推, hg serve似乎是最简单的解决scheme。 它工作正常,但我已经重新启动后,每次重新启动,所以我需要它作为一个Windows服务。 用sc create …手动安装它sc create …没有工作,它创build了一个服务,当我尝试启动它时会引发错误。 我发现这个问题的一些参考 https://bitbucket.org/tortoisehg/stable/issue/1245/configure-hg-serve-to-run-as-a-windows-service-from https://bitbucket.org/andrearicossa/hgservice 但是如果有的话,他们的logging很差。 (当然,我可以安装一个web服务器并使用hgweb,但似乎更复杂。)您是否有任何经验,如何轻松地设置hg serve … <many args>作为一个Windows服务? 更新:感谢不同的方法。 我们住在hg serve ,我们公司的windows-guy设法把它作为一个不太合适的服务来安装。

我应该在Windows中使用Mercurial的合并工具?

我只是从Mercurial开始,我应该做的事情之一是select合并工具。 我正在考虑为此目的使用WinMerge,但我找不到特别select这种方法。 有所有其他合并工具的引用,但不是WinMerge。 所以,我应该使用WinMerge还是有一个更好的工具(记住,我正在使用Windows)。

Windows Powershell中的Mercurial颜色扩展

有没有办法在Windows 7上的PowerShell中启用Mercurial的颜色支持? ColorExtension页面说要添加 [color] mode = win32 到您的.hgrc文件,但它似乎没有什么差别。 运行hg status显示了一些尚未添加到存储库的文件,我相信它们应该有粉红色(基于我见过的其他terminal)。 这是什么显示,而不是: ←[0;35;1;4m? samplefile.php←[0m ←[0;35;1;4m? anotherfile.php←[0m ←[0;35;1;4m? derpderp.xml←[0m ←[0;35;1;4m? derp_model.php←[0m ←[0;35;1;4m? stillnocolor.php←[0m

hg pull只能在当前工作目录下运行吗?

我有多个mercurial存储库,并使用hg clone在我们的文件服务器上创build备份。 现在我想编写一个batch file,通过在每个子目录上运行hg pull -u来每天更新一次。 我想保留这个备份脚本尽可能通用,所以它应该更新存储在我的H:\ BACKUPS \ REPOS文件夹中的所有备份存储库。 这是我的hgbackup.bat存储在同一个文件夹中: for /f "delims=" %%i in ('dir /ad/b') do hg pull -u 问题是:hg pull似乎只能在当前的工作目录下运行,似乎没有切换到指定目标版本库。 正如我讨厌Windows批处理脚本,我想保持我的.bat尽可能简单,避免cd'ing到不同的目录。 任何想法如何可以在不同的目录上运行hg pull -u ?

在Windows上通过SSH客户端和服务器的Mercurial

我正在尝试configurationMercurial与Windows服务器(freeSSHd)和客户端(包括命令行和TortoiseHG)一起使用。 我正在使用最新版本的所有东西…所有在过去几天下载。 使用公共密钥身份validation,我已经能够连接到服务器,我可以使用plink执行“hg version”并获得响应,但是当我尝试从ssh服务器克隆一个存储库时,该命令似乎挂。 用-v运行yield: hg -v clone ssh://<username>@<server>//hg/repositoryA testRepositoryA running "plink.exe -i "<path to private key file>" <username>@<server> "hg -R /hg/repositoryA serve –stdio"" 没有更多的东西。 直接在服务器上运行hg serve命令会产生一个明显响应的Mercurial服务器,但客户端似乎没有提出任何进一步的请求。 在存储库目录中运行“hg serve”,并通过http进行克隆。 我应该寻找什么来帮助debugging呢? 客户端(hg和TortoiseHG)没有发送什么来继续请求stream吗? 附加信息:如果我更改为目标计算机上的无效存储库,则会显示相应的错误,所以显示远程hg正在运行并正确评估path。 使用–debug和–traceback结果运行: sending hello command sending between command 它挂在这里,直到我CTRL-C Traceback (most recent call last): File "mercurial\dispatch.pyo", line 46, in _runcatch File "mercurial\dispatch.pyo", line 452, […]

在mercurial,如何设置和使用每个用户平台相关的hgrc?

系统级别的hgrc文件(在/etc/mercurial和<install-root>/etc/mercurial )显然是依赖于平台的,但是我怎样才能在每个用户的基础上使用依赖于平台的hgrc? 用例是覆盖特定平台上的系统configuration。 例如,我们在linux和solaris上有不同的合并工具。 当hgrc不允许任何控制逻辑时(如if os.uname()[0] == 'SunOS' ),我该如何重写solaris合并工具?

在Mercurial中configurationeol扩展的问题

我试图将一个unix托pipe的Mercurial存储库克隆到Windows计算机上。 我希望使用eol扩展名,以便在克隆到Windows计算机时,服务器上带有LF结尾的文本文件具有CRLF。 以前我用过win32text扩展,运行正常,但是由于普遍的共识似乎是eol扩展是要走的路,所以我想我会试试看 。 在我的Mercurial.ini我有 [extensions] eol = 我知道默认的行为是在克隆时将LF转换为CRLF,但是我很明显错过了某些东西,因为每当我从Unix服务器克隆到Windows时,行结束仍然是LF。 有任何想法吗?

在debian上用apache创build子域名; 创buildhgweb子域作为第二步

经过几个小时试图在我的专用根服务器上设置子域名,我要求你的帮助。 目标: 能够创build和访问子域名 使用hgweb为mercurial存储库设置自己的子域名 有关服务器的信息: Debian Linux,Kernel 2.6.32-028stab094.3 Apache / 2.2.16(Debian) Mercurial 1.6.4 安装了libapache2-mod-wsgi-py3 第一个问题:我的apacheconfiguration有什么问题,我无法通过浏览器访问我的子域名? 其实,我可以访问根域和安装在那里的网站。 我的configuration: / etc / apache2 / sites-available / default <VirtualHost *> ServerAdmin webmaster@localhost ServerName mydomain.tld ServerAlias www.mydomain.tld DocumentRoot /var/www/forum <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/forum> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all […]

在trac上使用mercurial时,“DLL加载失败”

当我使用tracd服务器时,我的mercurial存储库在trac中正常工作。 但是,当我使用apache ,所有trac页面的顶部都会出现以下警告: 警告:无法与存储库同步“(默认)”(不受支持的版本控制系统“hg”:DLL加载失败:指定的模块找不到)。 查看Trac日志以获取更多信息。 trac日志没有任何用处,除了关于使用Python 2.6.2编译mercurial的警告以及运行2.6.4的Python的实际版本。 有没有人有任何想法如何解决这个问题? 版本: Python 2.6(来自python.org的二进制安装程序) trac 0.12.2(使用easy_install) mercurial( Windows预装的二进制文件tortoisehg ) Apache正在运行Windows XP(32位)计算机进行testing。 我有pipe理员权限,但我认为Apache作为Local User运行。