Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
给定一个文件,如何找出这是mercurial存储库中的哪个版本?_Mercurial - Fatal编程技术网

给定一个文件,如何找出这是mercurial存储库中的哪个版本?

给定一个文件,如何找出这是mercurial存储库中的哪个版本?,mercurial,Mercurial,假设有一个受hg版本控制的文件。我有这个文件的一个特定版本,我想知道这个文件在这个版本中的哪个版本 我怀疑有两种可能的方法可以做到这一点 在循环中进行hg更新,并将文件与slooow的后续版本区分开来,但应该可以工作 在提交之前,让Mercurial在文件的第二行的注释中输入版本号。从我所读到的内容来看,预提交挂钩可能很有用。然后,我不需要比较任何东西,只要看看文件本身,我假设没有人会改变这个,当然,但在我的情况下,这是一个相当安全的假设 我的用例是一篇用LaTeX编写的联合论文,两位合著者根本

假设有一个受hg版本控制的文件。我有这个文件的一个特定版本,我想知道这个文件在这个版本中的哪个版本

我怀疑有两种可能的方法可以做到这一点

在循环中进行hg更新,并将文件与slooow的后续版本区分开来,但应该可以工作

在提交之前,让Mercurial在文件的第二行的注释中输入版本号。从我所读到的内容来看,预提交挂钩可能很有用。然后,我不需要比较任何东西,只要看看文件本身,我假设没有人会改变这个,当然,但在我的情况下,这是一个相当安全的假设

我的用例是一篇用LaTeX编写的联合论文,两位合著者根本不知道版本控制,但出于明显的原因,我更喜欢使用它。我们通过电子邮件进行沟通,并且有一个有效的基于人的锁定系统,在你给我发送下一个版本之前,我不会处理这个文件,好吗?。出现的唯一问题是,我将版本X发送给作者B进行校对,然后作者C发送给我一个更正的版本Y,我将其提交到我的回购中,然后作者B将其更正Z发送到版本X,我开始迷路,但我可以查看发送给B的电子邮件中的附件,我只需要找出它是哪个版本


所以,我的问题是:上面两个想法中哪一个更好,或者也许还有另一个可以帮助我处理这一混乱局面?

如果你乐于依靠查找你发送给评论者的电子邮件,为什么不将修订哈希与文件一起包含在其中

通过使用hg archive生成附件,您几乎不需要额外的努力就可以实现这一点。hg archive将创建一个文件,其中包含1个供审阅的文件和2.hg_archive.txt,以及修订哈希


尽管我会感到惊讶,如果没有更优雅的方式,即使您的合作者坚决反对使用版本控制。

如果您乐于依靠查找您发送给审阅者的电子邮件,为什么不将修订哈希与文件一起包含在其中

通过使用hg archive生成附件,您几乎不需要额外的努力就可以实现这一点。hg archive将创建一个文件,其中包含1个供审阅的文件和2.hg_archive.txt,以及修订哈希

虽然如果没有更优雅的方法,我会感到惊讶,即使您的合作者坚决反对使用版本控制。

hg archive是未来工作的好方法,但我可以建议至少3种替代工作方式和1种修复方法,以查找具有更新的正确版本

今后的工作

您可以为合著者使用单独的命名分支,并为合并结果使用默认值,发送合著者始终从其分支开始,在得到更正后更新其分支,您将始终知道,您已将分支发送并合并为默认值

一个分支,用书签标记的同事的修订版,稍后移动到下一点

在某种程度上被认为是一个很好的解决方案,但在您的案例中,这是一个显而易见且可用的解决方案:只需在文件defaul扩展名中添加带有hash id的关键字,而不是hook-更简单、更可靠

现状

对于查找文件源的变更集,您可以尝试在测试脚本中使用和测试,例如,您需要的文件的CRC,未版本文件的CRC,跨历史检查版本文件,hg archive是未来工作的好方法,但我可以建议至少3种替代工作样式和1种修复方法,以查找具有更新的正确版本

今后的工作

您可以为合著者使用单独的命名分支,并为合并结果使用默认值,发送合著者始终从其分支开始,在得到更正后更新其分支,您将始终知道,您已将分支发送并合并为默认值

一个分支,用书签标记的同事的修订版,稍后移动到下一点

在某种程度上被认为是一个很好的解决方案,但在您的案例中,这是一个显而易见且可用的解决方案:只需在文件defaul扩展名中添加带有hash id的关键字,而不是hook-更简单、更可靠

现状


为了找到文件源的变更集,您可以尝试在测试脚本中使用和测试,例如,您需要的文件的CRC,未版本文件的CRC,跨历史检查版本文件

嗯,一个问题是工作已经开始,因此解决方案2是一个未来的想法。但是谢谢你告诉我hg档案,我会查出来的。他们并不是死心塌地地反对VC,他们只是不知道有这样的事情存在,根据我以前的经验,他们可能会反对。对不起,基于误读的假设,以及我认识太多人都是以编写代码为生,不想与SCM打交道的事实:这实际上是解决方案2,无需修改LaTeX文件以适应版本控制或花费时间让挂钩工作
工作已经开始,所以解决方案2是一个未来的想法。但是谢谢你告诉我hg档案,我会查出来的。他们并不是死心塌地地反对VC,他们只是不知道有这样的事情存在,根据我以前的经验,他们可能会反对。对不起,基于误读的假设,以及我认识太多人都是以编写代码为生,不想与SCM打交道的事实:这实际上是解决方案2,无需修改LaTeX文件以适应版本控制或花时间让挂钩工作。我喜欢为每个合作者添加书签或分支的想法,这比归档更好。对分的问题是,首先需要用一个好的和一个坏的变更集将搜索括起来,用于二进制搜索。在这种情况下,除了所寻求的变更集之外,所有变更集都是错误的。CRC没有任何帮助,因为返回的文件包含修订-它将不完全匹配。OTOH,我不明白hg archive在这里有什么帮助,你能解释一下吗?@alexis-type.hg_archive.txt在存档数据中,所以这只在目录/zip存档被交换时起作用,对吗?如果文档是一个单独的latex文件,即使我或@mbork将其以zip存档方式发送,它也会自动返回。顺便说一句,我认为命名分支是完美的解决方案。@alexis-如果文档是单个latex文件。。。您将发送包含打包存档的电子邮件,请注意,请在此存档中返回更新的文件。我喜欢为每个合作者创建书签或分支,这比存档更好。对分的问题是,首先需要用一个好的和一个坏的变更集将搜索括起来,用于二进制搜索。在这种情况下,除了所寻求的变更集之外,所有变更集都是错误的。CRC没有任何帮助,因为返回的文件包含修订-它将不完全匹配。OTOH,我不明白hg archive在这里有什么帮助,你能解释一下吗?@alexis-type.hg_archive.txt在存档数据中,所以这只在目录/zip存档被交换时起作用,对吗?如果文档是一个单独的latex文件,即使我或@mbork将其以zip存档方式发送,它也会自动返回。顺便说一句,我认为命名分支是完美的解决方案。@alexis-如果文档是单个latex文件。。。您将发送包含打包存档的电子邮件,请注意,请将此存档中更新的文件返回