我们的项目最近从SVN切换到Mercurial。在SVN中,为了版本我们的css/js文件,我们从它们所在的目录中获得最新的修改版本,并将它用作打包文件名的前缀。获取分支中给定目录的所有更改文件
我们想在Mercurial中使用相同的方法。不幸的是,说起来似乎比做起来容易,尽管它可能是由我们的分支方法引起的。
简而言之,我们有一个主分支(trunk)。每两周我们都会从树干分支创建一个生产测试版,最终将合并到我们的直播分支中。
现在,此刻,我们基本上是用
hg log -b live some_folder/js
hg log -b live some_folder/css
得到那个最近在这些目录中改变文件的变更。
我们遇到的问题是我们的合并变更集没有被使用这种方法检测到。因此,如果我们在修改some_folder/css中的文件的变更集中合并,hg不会将其视为已更改,因为该文件并未在合并变更集中进行实际修改,而是在正在合并的其中一个变更集中进行修改。
我们也试着尝试解析日志,但它似乎有同样的问题。只有这样,才能得到汞日志列出这些文件的改变似乎是使用--stat选项,但
hg log -b live --stat some_folder/css
没有任何显示的变更。
我点在哪里,我只考虑使用
hg log -b live --stat
获取该日志的整个分支,然后解析它找到最近修改的文件目录中的变更,但我宁愿不去,因为它似乎会随着分支变大而变得越来越慢。
任何想法,以更好的方式来解决我的问题?
但为什么这是一个问题?如果文件已经更改,它肯定会显示在该文件的日志中。然后,更改集编号将与之前的版本不同。那么为什么变化发生在哪个分支上呢? – Ringding 2011-05-26 07:53:03
我们只希望在我们的直播分支中更改文件的版本号。有时候,我们推出了根本不修改css/js的修补程序,而且我们希望我们的用户无需再次无故下载文件。 – 2011-05-26 08:27:26