我有一个私人的谷歌代码项目。对于SCM,我使用Mercurial。对于本地构建,我想使用nant
所以基本上:
我想使用nant任务从已知的mercurial存储库下载源文件
我想以某种方式获得存储库的修订号,这样我就可以组装一个漂亮的小程序集版本号
构建脚本将不用于持续集成,而仅用于夜间构建和生产构建
感谢您的帮助我不知道nant,但是在(真实的)ant中,我们只使用任务来调用hg二进制文件。根据您想要开始的清理,您可以克隆或只是拉,然后执行hg id-i以清晰地获取修订号。另一个需要考虑的是
使用git模式时,有没有办法让Mercurial显示输出中不同的修订?例如:
$ hg diff -r trunk:development
diff -r 08d51ecf22cf:ff5673e55b9f --git a/foo.c b/foo.c
...
还是类似的
我发现有几次我采取了不同的措施(如审查),但后来无法重新创建,因为我忘记了它是针对哪些修订采取的
编辑:-v标志将在正常差异模式下显示修订,但我必须使用git diff(我非常定期地处理二进制文件)。使用:
hg diff -
我正在寻找最佳实践,以实现以下目标:
当我需要实现一个特性或修复一个bug时,我会从主存储库(主干)创建一个新的Mercurial存储库。
然后,在几天或几周内,我将在新创建的存储库中执行任务,进行提交并定期与trunk进行合并。在新存储库中的代码通过所有代码审查之后,我应该提供一个存储库,其中所有更改都折叠为单个修订
我的常用方法(应启用):
hg clone~/repos/trunk~/repos/new折叠
cd~/回购协议/新协议
hg diff~/repos/new>new.diff
对于我推送到的所有其他Mercurial Repo,我可以在我的hgrc(实际上是Mercurial.ini,因为我使用的是Windows)中设置用户名和密码,以便在特定域中执行操作,Mercurial不会提示我提供身份验证信息。然而,即使有了这些设置,Bitbucket也总是询问我的密码
我的设置如下:
[auth]
bitbucket.prefix = bitbucket.org
bitbucket.username = myusername
bitbucket.password = myp
我有3个存储库,每个存储库都是用相同的代码库创建的,但不同的代码库足以保证不同的存储库。我的“梦想”工作流程是在开发存储库中进行工作,然后将这些更改拉到其他存储库中。我知道我可以用以下方法来实现:
hg pull -r X -f repo
但这将为我提供到X的所有变更集。是否可以从特定版本甚至从一系列版本中提取所有变更集?如果您想获取某些变更集的内容并将其应用于任意签出(注意:生成的变更集将是不同的变更集,即使它们进行了相同的更改),请查看。在mercurial中没有很好的方法来挑选修订(这就
如果我在Mercurial中进行了提交,然后意识到我没有向提交消息添加足够的信息,有没有一种方法可以只添加另一条消息或注释而不提交任何其他内容?获取这些额外信息的最佳方式是什么
我意识到我有时可以回滚并再次提交,但这并不总是可能的。我也不想重写历史记录,我只想添加信息。如果这是您最后一次提交,那么您可以回滚并再次提交(使用新消息)。除非您愿意使用MQ或histedit编辑历史记录(在Mercurial中,这不是通常的做法),或者这是最新的提交(回滚)然后,您需要提交其他内容,以便能够使用不同的提
hg mq插件的目的是能够对您的存储库进行完美的提交,而不会混淆您在心不在焉的ADHD导致的代码混乱中所做的更改
例如
当我注意到bug y并开始处理它时,我正在处理bug x。此时,您应该在修补程序队列中创建一个新修补程序,以便在hg qfinish提交到存储库时不会混淆更改
现在假设有一分钟您忘记了制作新补丁,并且在这个过程中hg qrefresh。后来意识到你的错误,你希望把一个补丁的更改分成两个补丁
我意识到这与编辑队列中的修补程序文件(以及新的修补程序文件)有关,以将更改分离为单独的修
我们在Mercurial中进行合并时遇到了一个问题,在Mercurial中,空格更改导致合并冲突,从而掩盖了我们可能遇到的任何“真实”冲突,使合并成为一场噩梦。我们最近采用了一种格式样式,这种样式改变了某些分支中文件的缩进,此后几乎不可能进行合并
例如,请尝试:
hg init testrepo
cd testrepo/
echo "This is text." > newfile.txt
hg add newfile.txt
hg commit -m "Created a file."
我是HG的新手,最初设置它时,我没有为本地存储库设置用户名。我的提交显示当前登录的用户名和计算机名。i、 e.adam@mypc设置用户名后,我现在有了adam
我想知道是否有可能更改以前的提交,即adam@mypc显示adam
我有多台电脑,我的工作,我想保持在同一个用户名下的所有提交
提前感谢。提交者的名称不是在推送时设置的,而是在提交时设置的,它是变更集本身不可更改的一部分。您可以使用新名称重新编写变更集(最简单的方法是将convert命令与--authormap一起使用),但它将更改这些
我们正试图让TortoiseHG 2.0.5检查提交评论中是否输入了fogbugz案例编号,调查显示,TortoiseHG中有“强制性问题参考”,要求link.regex有效。我们已经使用了带有fogbugz表达式的Issue和Issue链接来将案例转换为指向fogbugz站点的链接,这样就可以了。我们要做的就是强制/提醒必须在变更集提交注释中输入案例
“强制发布参考”设置未出现在此版本的UI中,我们已编辑设置文件,添加“issue.linkmandatory=True”,但这似乎不起作用
任何
我创建了一个存储库,并将其与远程存储库同步
文件被压缩,每个文件都有一个(i)扩展名
我想将文件解压缩到一个新文件夹(而不是存储库),并使用我在Google code上浏览的网页上看到的原始名称将其解压缩。通常您会使用hg clone来执行此操作,它会自动更新工作目录
由于您执行了hg init,然后从远程repo执行了hg pull,因此需要执行hg update,它将用实际文件填充工作目录
.hg目录下的所有.i文件都是存储库的存储和索引等。很少有人用手去搞乱这些。大多数情况下,人们在.hg
对我来说,“标签”的概念是一个快速的标签,你可以把它作为一个简单的提醒。但在HG中不能有这样的标签,因为只能有一次。你得加上时间戳之类的东西
HG中具有唯一标记的原因是什么?HG中是否有一种机制允许我查找“我标记为X的所有变更集”在mercurial wiki上签出。在mercurial wiki上签出。标记用于在某个时间标记存储库的特定状态。版本1.0为v1.0,诸如此类。标记发布是最常见的用法。它不适用于“当前版本”;分支机构更适合这样做
您可以使用各种不同的分支技术;一个是有一个“部署”分
我在mercurial中制作了一个标签:
hg tag release_123
后来我发现名字错了,应该是release\u 124。是否可以简单地重命名标记,或者我必须创建一个新标记?您应该能够在.hgtags文件中进行编辑(并提交它)
“常规”标记(没有特殊的说明符)受版本控制,会随着其他更改传播,并存在于存储库中的.hgtags文件中
这提到你需要在回购协议的所有标题中都这样做。我会删除标签,然后用新名称添加一个新标签
说明了如何删除标记:
如何删除标签?
或者
hg标记--删除标记名
当我尝试使用Ortoisehg从Google代码下载项目时,我收到了以下消息:
abort: 'svn' executable not found for subrepo 'mobile/ios/externals/google-toolbox-for-mac'
我正在使用这个链接
编辑:我正在运行Windows XP,您试图将其克隆为Subversion存储库中定义的存储库。可以在文件中看到子存储库列表
为了使克隆正常工作,您需要在计算机上安装Subversion。您可以在此处找到各种平台的
我从同事那里得到了大量单独的变更集列表。我想把这些去掉
我可以使用以下方法识别所有变更集:
hg log -r "outgoing() and not author('Brandon Leiran')"
我可以使用模板只打印节点名称,然后将其用于我的条带列表,但我真的希望只找到每个传出更改集字符串的“基”。我可以用revset查询来实现这一点吗?或者类似的东西?我假设在您拉取的任何分支上都没有“重要”(即您的)变更集
现在,如果是这样,且单独分支(或您称之为列表)的数量较低,则可能需要多次剥离
我正在尝试设置一个快捷方式,这个命令可以让我检查一个文件的历史记录
我感兴趣的是文件最初提交的时间、更改的更改集以及工作目录中的当前版本是否与“上次提交的版本”不同
所以,总的来说
hg log --verbose filename.txt
hg status filename.txt
有没有办法把它变成一种快捷方式,这样我就可以打个比方
hg file filename.txt
并获取文件的“历史记录”?是的,您可以添加:
$HG环境变量引用用于调用shell别名的HG脚本的路径,以防
可能重复:
hg diff-r5-r10将给出第5版和第10版之间的差异。但我只想看到不同文件的列表,我不想看到完整的差异。有没有快速的方法可以做到这一点?hg status可以做到这一点
hg status的主要目的是在工作目录中显示修改过的文件(与上次提交相比)。
但是您可以使用--rev参数,让它比较两个特定的版本,如下所示:
hg status --rev 5 --rev 10
n:m的修改范围只是稍微好一点readable@LazyBadger:谢谢,我不知道!我已经在上面马丁·盖
我很高兴地使用HgSubversion有一段时间了,今天我忘了将--svn添加到rebase命令中。
现在我得到了可怕的未知版本“
有什么方法可以从中恢复吗?我会尝试使用移植扩展来修复此问题:
将SVN存储库重新克隆到新的本地存储库
检查原始存储库的历史记录,并注意哪些更改需要移动
将更改从旧存储库移植到新存储库
例如,修复名为项目的hgsubversion回购协议:
> hg clone svn+http://svnrepo/project project-tmp
然后检查原始项目文件
一段时间以来,我们已经成功地从CC快照视图中用完了Mercurial repo。我们在视图中有源repo,团队的基本repo是该repo的克隆。这保持了一层分离,使CC中的签出签入更易于管理
现在,由于我工作的内部原因,我们需要切换到一个新的视图。我们怎样才能做到这一点?公司内还有其他团队直接将文件签入CC(希望我们能很快说服他们离开),所以这应该是一个考虑因素
如何将现有回购覆盖到新视图中(然后我可以重新确定团队基本回购的基础,没有问题)?问题在于当前Mercurial回购和新快照视图之间可能
有没有办法查看Ortoise Mercurial中的所有标签?例如,是否有一种方法可以过滤所有提交的可视化,并仅显示其中包含标记的提交
除了只查看带有标签的提交外,TortoiseHg是否支持快速切换或可视化它们之间的差异?
您是否尝试探索THG界面(即-工作台工具栏按钮)?左起第四个按钮执行任何过滤器(“taged()”是预定义的)
要查看两个标记之间的差异,请右键单击两个选定的标记
我正在使用一个存储库,其根在其历史中移动了一些(从trunk/开始,移动到subproject/trunk)。现在,我可以使用hgsubversion处理所有历史,直到它移动到subproject/trunk(请参阅)为止,或者使用HgConvert或rebase将历史拼接到一个内聚存储库中
在剪接并调用hg svn rebuildmeta之后,hgsubversion被弄糊涂了。svn存储库中的新修订被拉入名为“./”的分支
基本上,我想知道是否有可能告诉hgsubversion使用某个svn
我是mercurial的新手,正在研究bitbucket.org基础设施。如果我通过“fork”按钮在bitbucked上fork一些项目,那么让fork保持最新的首选方法是什么?fork“origin”是否保存在fork存储库中的某个位置?当然,我可以在“pull”命令中手动指定存储库,但这对我来说似乎很尴尬。在bitbucket接口中有“origin”的概念,但我认为您不能在bitbucket中执行pull
在fork的本地克隆中,您可以在.hg/hgrc文件的[paths]部分中命名URL
是一个接一个地进行的最可靠的方法,对多个变更集中的每一个都使用回退命令,还是有一种方法可以创建一个大的反转变更集来覆盖整组[编辑:非连续]变更集
如果一个接一个,顺序重要吗?(应该最后一个到第一个吗?)
如果沿途不同子项目之间存在合并,那么最佳方法是否有所不同
在你的经历中,这会顺利吗?:-) 如果一路上没有合并,您可以退出每个单独的更改(按相反的顺序),或者,如果有很多更改,则使用一个大的反向补丁
如果在需要退出的变更集之上有好的变更集,最好在最新的坏变更集之上提交反向补丁,然后将它们重定到分
是否可以从一个远程存储库推送到另一个远程存储库
我有一个案例,我将本地更改推送到远程集成repos。一旦批准,我希望将集成回购推送到发布回购中(我将从中构建我的发布)
这在技术上可行吗
编辑:第一个存储库在我的磁盘上是本地的。第二个和第三个都是服务器上的远程存储库,我没有文件系统访问权限。我希望能够从我的PC(使用我的本地HG/TortoisHG客户端)从第二台推送到第三台。取决于您所说的“远程”。如果您可以登录到这些机器,并且可以在它们之间建立SSH连接,这是很容易做到的。简单的方法是登录到您
我有5个可从本地Mercurial repo推出的变更集,目前我只想推出其中一个。这一个变化集位于所有可用的中间。
例如,我有以下修订:
6639
6546
6545
6544
6543
我只想按6545。有什么简单的方法可以做到这一点吗?您只能将变更设置的连续列表推送到所需的位置
所以
将按6543..6545
您不能仅仅推送6545,因为如果没有前面的更改集,它的更改就没有意义。您可以使用扩展来实现这一点。您可能需要启用mq扩展,详细信息请参见链接页面
您可以将所有修订导入队列,将它们全
我正在使用带有hg git Mercurial插件的TortoiseHg与Github交互,完全不使用git,只使用hg。在Github上,我分叉了。我成功地将我的fork克隆到了我的计算机上。我想在Hg中添加原始的pandas repo作为URL,这样我就可以从该repo中提取更改,并将它们与我自己所做的任何更改相集成。我在Ortoisehg的URL中以“上游”的名义添加了最初的熊猫回购协议
然而,如果我试图从最初的上游回购中退出,Hg会挂起很长一段时间,然后最终发出“504-网关超时”错误。
在mercurial回购协议中,“默认”分支已经非常过时,不再需要合并“开发”分支的更改,而“开发”分支拥有最新部署的应用程序版本
如何关闭当前默认分支,然后使用develope中的head创建新的默认分支,而不是将develope合并为默认分支
我已经看到了一些类似的问题和答案,也许是相同的,但我仍然难以理解这应该如何工作
谢谢 根据您关于不需要关闭分支的评论,这里有一系列步骤可以使默认分支与开发分支保持一致:
hg更新默认值
hg merge--tool internal:other--在特
我有很多由hgwebdir提供服务的小型项目,我希望以这样的方式配置本地回购,我不需要为每个项目创建几乎相似的hgrc文件:
[paths]
default = http:/ /myserver.com/projectN
default-push = http:/ /myserver.com/projectN
我可以使用这样的默认值吗
[paths]
default = projectN
环境变量无法工作(win7)。您可以使用。在~/.hgrc中放入类似的内容:
[extensions]
我不小心做了一个“hg commit--amend”,而不仅仅是一个commit。如何在修改之前回滚提交?注意:此答案现在已被弃用。请看@Sorina Sandu
看,上面写着:
--amend标志可用于修改加工的父项
目录中包含父目录中的更改的新提交
除“汞状态”当前报告的情况外,如果有。
旧提交存储在“.hg/strip backup”中的备份包中(请参阅
“hg帮助捆绑”和“hg帮助解除捆绑”介绍如何恢复)。
您可以使用hg reflog(从)和hg reset
应该给出如下信息:
&l
我不是Mercurial的高级用户,需要一些关于以下典型问题的建议:
我正在使用Mercurial进行代码共享和版本控制
几个用户将通过ssh共享/修改从/到中央回购的拉/推操作
到现在为止,我已经开始工作了。我现在想要的是有一个控制其他用户推送的方法,比如如果我接受更改,就有一个“允许推送”功能
我有一些想法,但我想知道在这种情况下有什么建议
(可能是我单独控制的一个分支和另一个分支的原始推/拉操作……但如果几个用户可以接受其他用户的推操作,则看起来不太好)
(也许有一个简单的解决办法,而
在TortoiseHg Workbench中,在存储库注册表和活动存储库选项卡之间切换的键盘快捷键是什么
通常我希望F6能做到这一点,但它不起作用。是《乌龟手册》中提到的所有键盘导航。不是很有帮助。然而,它也指的是乌龟维基中的。我仍然看不到你想要的快捷方式,但也许可以看看。谢谢,手册或维基上似乎没有。这是一个耻辱,因为它不可能只导航键盘没有它。刚刚提交的问题
生成yeoman项目时,是否将生成的节点模块提交到代码存储库中
似乎有必要让其他开发人员签出一个项目并从中进行开发,但似乎有许多文件需要提交,这些文件似乎与项目本身无关。您只需运行npm install即可安装依赖项。但是,提交依赖项有多个好处,您可以在本文中阅读:
(适用于鲍尔,但也适用于npm)
我正在尝试为远程团队创建一个捆绑包。他们有一份892版的车辆段副本,我们目前使用的是1119版
首先,我尝试了补丁,但这创建了大量文件,在尝试应用补丁时(通常是在合并提交时)这些文件都被弄糟了。。。我们的存储库大小为17GB,所以我正在尝试创建一个增量补丁,因此我认为hg bundle非常适合于此
我通过以下方式生成了一个包:
>hg bundle --rev 1119 --base 892 depot-892-to-1119.bundle
这创建了一个350MB的bundle文件,这是
目前,由于以下错误,我无法克隆mercurial目录
Abort: stream ended unexpectedly.
我们几乎没有大小超过10MB的文件。这些文件已上载到mercurial存储库中,但在克隆该目录时出现错误。我们还检查了我们的互联网连接,这不是问题所在。请说明mercurial可以传输的最大尺寸
一般来说,限制以Gb为单位,由操作系统而不是mercurial()定义
但是,您的存储库可能配置了一个钩子来限制二进制文件的大小。例如,见
因此,您需要在.hg/hgrc中检查存
运行hg convert或hg-graft时,我看到类似的警告:
警告:找不到'service/src/main/java/com/vtlr/web/sql/package'的祖先
-java“复制自”service/src/main/java/com/vtlr/sql/package info.java“
警告是什么意思?
转换/移植过程中是否丢失数据?我能做些什么来纠正这个问题
(我正在运行Mercurial 3.0)文件似乎已被重命名或移动。如果你从一个移植,新的父母可能比你想象的更不一样
hg history命令以以下格式显示结果:
changeset: 1:000000000000
user: somebody
date: Fri Jun 06 22:38:10 2014 +0000
summary: Do something clever.
上面的“日期”默认使用修订提交到其原始存储库的时间。我是否可以给它一个参数来获取它被推送到上游或拉到本地存储库的时间?hg-help-history和谷歌({hg-history-timestam
标签: Mercurial
repositorypushupdatestortoisehg
我刚刚拉取了所有传入的更改,提交了所有内容,甚至按下了所有提交,如果我没有选中“放弃本地更改,无备份”复选框,更新工作目录窗口中的更新按钮也会变灰。上次这样做时,与最新的远程工作目录相比,我丢失了所有的工作
该复选框是否总是被选中是正常的?如果不是,那么为什么我的TortoiseHg中会出现这种情况?您描述的行为是我右键单击作为工作目录父目录的变更集并尝试更新时得到的。由于我的工作目录和该父目录之间的区别只是我的本地更改,除非我要放弃本地更改,否则更新不会起任何作用
如果您在尝试更新回购历史记录
我在工作中使用Git,因为Git是团队的选择。不过,我个人项目更喜欢Mercurial。Git和Mercurial的分支模型不同并不是什么秘密,Mercurial中的书签就像Git中的分支。我非常喜欢Git分支,很少使用Mercurial分支,就在我真正需要它的时候,我更喜欢Mercurial书签。但是,我在Mercurial中遗漏了类似于git branch-d的内容,因为在Mercurial中删除书签只会删除书签并保留不变的历史。是否可以将Mercurial中的书签及其所有变更集放到书签偏离
我想将一个目录从分支“default”合并到“A”。目前我确实合并然后还原所有其他目录。那是相当多的文件
有更简单的方法吗?Mercurial将整个存储库视为一个“单元”。因此,不可能只合并存储库的一部分。这是没有意义的,因为您可以将存储库的一部分放在分支a上,另一部分放在分支B上
如果可以将该目录视为与存储库其余部分分离的“单元”,则可以将其作为子存储库。这样,您就可以合并子存储库(不需要合并顶级存储库)
但是,请记住:子存储库增加了复杂性
这就是问题所在。我的配置文件位于Mercurial控制下的主目录~。部分
|-~
|.hg/...
|-Dev
|-Project1/...
|-Project2/...
.hgrc
.hgignore
我已将Dev目录从.hgignore文件中的源代码管理中排除。
然而,当我在目录~/Dev/Project1中时,Mercurial认为我在源代码管理下的目录中。如果我在中的任何目录中键入hg root。hgignore或其子目录hg仍将其视为存储库的一部分
它
是否有一个选项可用于hg pull到强制更新(非向前)所有书签,甚至删除远程存储库中不再存在的所有书签
我所说的“修剪”是指去掉远程存储库中不再存在的本地书签。否则,即使本地书签已经过时,它们也会不断累积
换句话说,我希望使用书签,就像使用Git(远程)引用一样
如果没有内置的方法,那么执行这些任务的建议命令序列是什么?这个问题并不完全清楚,所以我在这里做一些猜测。书签通常会在拉取期间更新,除非更改为指向早期版本。在这种情况下,无论如何,您都可以使用hgpull-B来提取书签
如果修剪书签是指从
我想在Mercurial存储库中将几个提交折叠成一个或两个,并使用histedit。由于我不太确定结果如何,我已经克隆了我的回购协议,并在克隆上尝试了该操作。(我以前做过很多次,但这次我有一些分支,我不知道如何处理它。最后,我在执行崩溃时使用MQ存储分支提交)
一切都很好,没有冲突或任何事情,这是应该的。所以我已经尝试了使用原始存储库,瞧,有合并冲突
这怎么可能
我知道我可以将克隆应用到原始版本上,然后忘记它,或者手动解决冲突,但我想知道为什么会发生这种情况,以及如何发生这种情况,并在过程中学习
如果未提交的文件中存在以下字符串,我希望阻止提交到本地Windows Mercurial repo:
不要让我承担责任
我知道预提交是pretxncommit。如果我在Linux上,我会这样做:
[hooks]
pretxncommit.donotcommitme = hg export tip | (! grep -E -q -i 'do not commit me')
(取自但未经验证/测试)
作为egrep的替代品,我有了FINDSTR/I/C:“不要提交”,它似乎工作得很好。但是,我找
我有一个Mercurial(3.6.1)项目。每次我尝试提交时,都会出现下一个错误
(project)➜ project hg:(default) ✗ hg commit -m "TICK-190" subfolder/models.py
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.6 (defau
使用Mercurial,我试图获取自上次标记以来的分支历史记录。
但我也希望包括所有合并到中的注释
我们的开发人员通常创建一个分支,做一些工作,可能是多次提交,然后将分支合并回来
使用:hglog-b-r“last(tagged())::”--模板“{desc|firstline}\n”
我会得到像“Merge”这样的条目,其中没有关于合并中包含哪些提交的信息
如何使其包含合并的提交?
我们也有多个活动分支,因此仅包含所有分支的所有提交将不起作用。这里至少有两个问题(经过分析)是由于使用-b造成
我们正在研究添加预提交挂钩,以检测编码标准是否符合我们公司的政策。我们不想检测遗留代码,只想检测添加的新行
在git中,可以检测在提交之前添加的行号,因为在调用git时,行号显示为哈希数00000000000
在mercurial中,新行未显示在hg/annotate中。有没有其他机制可以解决这个问题?使用hg diff确实很痛苦。编辑您的存储库(hg config--local)或您的用户配置(hg config--Edit)并启用预提交挂钩(hg help config.hooks):
在预
我们发现我们的Hg存储库在几周前被破坏了。这种损坏似乎已经蔓延:所有克隆(中央repo和用户repo)都以同样的方式损坏,非常严重。我认为,如果我们当时进行核查,我们本可以防止这种情况发生
是否有一些Hg设置会导致每次推送时进行验证,并在验证失败时防止推送?我知道我可以在Python中将其实现为一个钩子,但有没有更简单的解决方案
是否也可以执行相反的操作:确保在拉取之前验证远程存储库
FWIW,我在Windows 10上,我们使用的是陆龟
更新:我已经尝试按照Jordi的建议创建钩子。Hg现在挂
你如何在不因痛苦而死亡的情况下逆转合并对极化分支的影响
这个问题困扰了我几个月,我终于放弃了
您有1个存储库,其中有2个命名的分支。A和B
发生在A上的变化必然发生在B上
直接发生在B上的更改决不能发生在A上
在这种配置中,将“B”合并到“a”会在存储库中产生一个可怕的问题,因为对B的所有更改都出现在a中,就好像它们是在a中进行的一样
从这种情况中恢复过来的唯一“正常”方法似乎是“退出”合并,即:
hg up -r A
hg backout -r BadMergeRev --parent
我用的是Mercurial透龟药。我想看看用户在存储库上做了哪些工作。最好只是一个唯一用户名的列表。但是,向下滚动(长)修订列表并记下每个名称是不实际的。我可能可以用grep解决这个问题,但我在windows上,更喜欢避免安装Cygwin或类似的软件。考虑到这些限制条件,是否有可能?如果您安装了PowerShell,那么这就实现了:
hg log --template "{author}\n" | Select -Unique
我当前的大约5500个变更集的存储库需要两三秒钟。在Linux、*
在尝试
hg commit
或
我发现了错误
abort: invalid subrepository revision specifier in .hgsubstate line 3
这可能就是为什么:
f322ee070c467d1e517564d679f150693739d186 buildtools
2e68a7e2306704c8dc98802c73897c6c43bf96bc dzlivetemplates
libs/dxgettext
libs/dzlib
libs/jc
1 2 3 4 5 6 ...
下一页 最后一页 共 59 页