Articles of mercurial

如何从python导入path中删除当前目录

我想和hg本身的mercurial仓库一起工作。 也就是说,我从https://www.mercurial-scm.org/repo/hg克隆了Mercurial,并希望在克隆的仓库中运行一些hg命令。 问题是,当在这个克隆中运行hg时, hg可执行文件尝试从这个目录加载它的python模块而不是从/usr/lib/pythonVERSION等等。据我所知,这是因为Python导入pathsys.path包含一个空string第一项可能意味着“当前目录”。 没有设置PYTHONPATH环境variables。 问题是我怎样才能防止我安装的hg导入“错误”的模块。

Mercurial Hg没有发现变化 – 不能推出汞

有人可以告诉我为什么我没有得到最后发现的变化。 另外,我收到一个令人讨厌的消息,“ 用户名不在.hg / hgrc中指定,密钥环不会被使用”。 版本工具:Hg最新版本服务器:Linux工作区:〜/ 2012WS LinuxServer123:〜/ 2012WS#hg clone http:// LinuxServer123 / hg / GigaTest / 用户名未在.hg / hgrc中指定。 钥匙圈不会被使用。 需要http授权 领域:Mercurial知识库 用户:u123456 密码: 目的地目录:GigaTest 请求所有更改 添加更改集 添加清单 添加文件更改 添加14个变更集,585个变更,575个文件(+1个头) 2个文件更新,0个文件合并,0个文件删除,0个文件未解决 更新到分支默认 0文件更新,0文件合并,0文件删除,0文件未解决 LinuxServer123:〜/ 2012WS# LinuxServer123:〜/ 2012WS#cd GigaTest / LinuxServer123:〜/ 2012WS / GigaTest#ls -tlr 共12个 -rw-r – r– 1 root root 25 Jan 10 […]

在Windows上跟踪与mercurial的硬链接或符号链接

在一个相当大的项目中,我想把相同的文件(或文件夹)放在不同的位置。 当它在一个位置被改变时,改变应该被传播。 在Subversion中,我可以使用外部来实现这个行为。 我试图通过使用硬链接和符号链接来解决这个问题,但是Mercurial似乎没有跟踪其中的任何一个。 相反,它将文件的内容提交到其存储库而不是链接属性。 当我克隆版本库时,信息就会丢失。 这是一个特定于Windows的Mercurial行为,还是根本不能跟踪链接? 是否有另一种方式来跟踪可从Mercurial的不同位置访问的文件?

目录上的Windows权限:Mercurial – hg merge – “abort:access is denied”

背景:这是在Windows 2008 Server上运行的。 https://www.mercurial-scm.org/wiki/Workflows#Feature_separation_through_named_branches 我是一个Mercurial新手,并试图按照上面的build议说,“尽可能经常地将默认合并到您的function” – 我已经这样做了几次以前已经与其他文件。 但是,这个最新的变化是不会合并的。 当我做'汞合并默认'我得到错误“中止:访问被拒绝”。 search后,我看到一些人报告实际上有问题的文件的权限问题。 关于有问题的文件的权限没有什么特别的,至less不是我能看到的。 我是通过培训的Linux人员,而不是Windows人员,所以从根本上来说,我不太了解Windows文件的权限。 Cygwin声称有问题的文件是644(即,我可以写入文件),这与以前由hg合并过程成功触及的所有其他文件具有相同的权限集。 我看了一下DOS的“attrib”命令,它并没有在所讨论的文件旁边显示“只读”标志。 如果这不是Mercurial问题,而是Windows权限问题,我很乐意进一步修改标签。 我假设这个“中止:访问被拒绝”错误是指需要合并的变更集中的文件,而不是.hg /文件之一,但这是一个非常神秘的错误信息 – 它doesn'不要说哪个文件存在访问问题(并且更改集中只有一个文件被更改 – 我特意试图在此testing中非常简单)。 更新: 做了一个'hg rollback',并以相同的顺序尝试了同样的命令testing,只保留了一个完全不同的文件(lib / blort.html而不是blah / foo.html)的文件。 “hg merge”工作得很好。 所以对于我开始使用的特定文件(foo.html)或者它的父目录的权限,可能会有一些特别的狡猾。 另一个编辑 肯定有关于父目录的东西,因为我有同样的问题/目录中的另一个文件,但问题不会在目录结构中的其他地方,只在这一个目录。 刚刚检查了lib / vs blah /的权限,他们在Cygwin中看起来都是一样的,但这只是Windows ACL的模糊近似。 通过右键单击每个目录并检查“属性”安全选项卡来检查这些目录时,它们在两个目录中看起来都是一样的,但我认为问题的症结在于我并不十分注意ACL。 有没有一些DOS命令行工具,像'attrib'只是更强大的,就像在linux中的'ls',会给我更多的信息比我在'属性'中的混淆混淆勾号? 希望最后的编辑 如何区分Windows权限 “iCacls”似乎是工作的正确工具,似乎已经解决了这个问题,但是我想在接受/closures之前复制这个问题。 概要 如果有疑问,请在您的Mercurial命令中使用–debug 。 现在有一点点了,但是感谢@懒惰的獾指出了它。 您可以使用像icacls path /grant domain\user:(OI)(CI)F这样的命令来修复您的Server 2008权限icacls path /grant […]

Windows PowerShell ISE不会提示input

我使用控制台作为我的工具来pipe理汞储存库。 经典的cmd或Console2我input: hg in 和控制台提示类似于: D:\workspace\someproject>hg in http authorization required realm: Bitbucket.org HTTP user: xorty password: 显然,我input密码。 但是,当我在PowerShell控制台中input“hg in”时,它不会提示任何内容。 它只是一直说这个: Running script / selection. Press Ctrl + Break to stop Running script / selection. Press Ctrl + Break to stop 我可以使PowerShell ISE像传统控制台一样工作吗?或者PowerShell不是这样工作的吗?

Windows Mercurial全球钥匙串

我正在尝试在Windows构build服务器上运行mercurial,并遇到问题。 我去了设置mercurial keychain(我不得不安装tortoisehg)的麻烦,它在每个用户的基础上工作。 问题是我正在使用Bamboo运行构build,并且它作为SYSTEM拥有的NT服务运行。 因此,任何时候它试图用hg做任何事情,都会提示input密码。 显然,我可以把密码放在一个configuration文件中,但是我想避免一个明文密码就在旁边。 据我所知,攻击这个问题有两种方法。 我不知道该怎么做: 让mercurial keychain成为全球,而不是每个用户。 这可能不可能。 以某种方式以SYSTEM用户身份login,并使用它执行一些mercurial命令,以便其钥匙串获得用户/密码信息。 完全不同的东西…? 预先感谢您的任何见解! -ben

在Mercurial中获取可读的差异显示在Unicode文件(MS Windows)

我试图在Mercurial存储库中存储一些Windows PowerShell脚本。 看来PowerShell编辑器喜欢将文件保存为UTF-16 Unicode。 这意味着有很多\0字节,这是Mercurial用来区分“文本”和“二进制”文件的。 我知道这对于Mercurial如何存储数据没有任何影响,但是这意味着它会显示二进制差异,这是难以阅读的。 有没有办法告诉Mercurial这些确实是文本文件? 据推测,我需要说服Mercurial使用一个外部Unicode识别diff程序的特定文件types。

带有Windows中央存储库的DVCS

我们目前正在使用VSS进行版本控制。 我们很less有开发人员对分布式模型感兴趣(并想摆脱VSS)。 我们的networking充满了Windows机器,虽然我们的IT部门有维护Linux机器的经验,但是他们不希望这样做。 什么DVCS系统可以托pipe他们的中央库在Windows上,同时提供.. 将访问权限推送到存储库。 基本authentication。 大多数情况下只是一种方法来允许或拒绝访问整个存储库。 不需要细粒度访问。 服务器进程,因此用户不需要对存储库进行写入操作,从而降低了意外混淆的风险。 在客户端,像Tortoise这样的graphics用户界面可能会成为一个需求(对不起,Windows shell很糟糕:|)。 由于我们的IT部门的资源已经相当的不足了,所以安装简便。 只要客户端能够存储凭据,使用Windows凭据进行身份validation将是一个优势,但不是一个要求。 我有一个(真的)快看Git,Mercurial和Bazaar。 Git似乎使用ssh或简单的WebDAV进行存储库访问,需要用户的写入权限。 Mercurial有一个内置的http服务器,但这似乎只是为了拉目的。 更新: Mercurial也支持推送。 Bazaar似乎使用sftp进行存储库访问,同样需要用户的写入权限。 是否有任何DVCS系统的Windows服务器进程,并有人设法在Windows的土地? 如果这是一个重复的问题,并表示歉意。 我找不到一个。 更新 得到了Mercurial为推挤目的工作! 详细的清单所需的东西可以在下面find答案。

Subversion的python绑定无法加载

这是一个尝试将SVN信息库转换为Mercurial的第二部分 命令是: hg convert file://c:/svnrepository 但是,我得到的输出是: assuming destination svnrepository-hg initializing destination svnrepository-hg repository file://c:/svnrepository does not look like a CVS checkout file://c:/svnrepository does not look like a Git repo Subversion python bindings could not be loaded file://c:/svnrepository is not a local Mercurial repo file://c:/svnrepository does not look like a darcs repo file://c:/svnrepository does not look […]

Windows SDK – C# – debugging进程退出,错误代码为-1073741502

简洁版本 你怎么知道当一个进程退出,错误代码为-1073741502哪个DLL无法加载(可能是为什么)? 长版 我正在尝试为Mercurial编写一个pretxnchangegroup钩子,作为该钩子的一部分,我需要获得运行该命令的输出: hg log 我用来启动和运行hg.exe进程的代码如下所示: string Command = "log"; Process p = new Process(); ProcessStartInfo psi = p.StartInfo; p.StartInfo.FileName = @"C:\Program Files (x86)\Mercurial\hg.exe"; psi.CreateNoWindow = true; psi.LoadUserProfile = true; psi.RedirectStandardError = true; psi.RedirectStandardOutput = true; psi.UseShellExecute = false; psi.WorkingDirectory = Environment.CurrentDirectory; p.StartInfo.Arguments = Command; // Pass-through environment variables psi.UserName = Properties.Settings.Default.HG_User; psi.Domain = […]