Git 使用哪种SCM跟踪应用程序和系统配置文件?

Git 使用哪种SCM跟踪应用程序和系统配置文件?,git,svn,version-control,mercurial,Git,Svn,Version Control,Mercurial,我需要跟踪不同的软件安装,简化文件的升级 我计划使用SCM来跟踪修改,并能够在需要时快速回滚,或者简化迁移到新机器的过程 最初我尝试使用Mercurial(hg),但我发现它确实修改了文件的修改日期,这是不可接受的。我也不愿意使用第三方插件来克服这种局限性 尽管如此,我还是对其他选择持开放态度,git或svn在没有额外扩展的情况下支持这一点吗 另外,如果我可以将我的定制放入补丁队列或类似的东西中,这样我就可以轻松地将安装升级到新版本,这将是非常棒的 修改时间:使用当前签出时间作为修改日期,因为包

我需要跟踪不同的软件安装,简化文件的升级

我计划使用SCM来跟踪修改,并能够在需要时快速回滚,或者简化迁移到新机器的过程

最初我尝试使用Mercurial(
hg
),但我发现它确实修改了文件的修改日期,这是不可接受的。我也不愿意使用第三方插件来克服这种局限性

尽管如此,我还是对其他选择持开放态度,
git
svn
在没有额外扩展的情况下支持这一点吗


另外,如果我可以将我的定制放入补丁队列或类似的东西中,这样我就可以轻松地将安装升级到新版本,这将是非常棒的

修改时间:使用当前签出时间作为修改日期,因为包括gcc在内的大多数编译器都会基于晚于目标文件修改时间的修改时间重新编译修改后的文件。
这只允许重新编译修改过的文件以节省编译时间。

如果配置Subversion客户端配置文件,Subversion可以使用
提交时间
而不是
修改时间
。(在Unix系统中,它位于$HOME/.subversion/config下)

我不相信Git中有同等的版本。这一点以前在中讨论过。最大的抱怨是,这将打破使这是真的,但大多数版本控制系统确实给你这个选择

如果这是为你的公司而不是个人使用,你可能想看看。Perforce是一个需要花钱的专有工具。也有例外:小型项目(不超过两个用户)和开源项目可以免费使用该工具

Perforce的最大优点是它允许您覆盖目录结构。例如,您的服务器可能有一个默认结构,但每个服务器都会稍微修改该结构。您可以在一个目录中保留默认值,在另一个目录中保留每个单独服务器的自定义更改。签出时,将创建一个将两者结合的视图。这有点难以解释,但我发现它非常适合跟踪多个服务器配置


Perforce的缺点(除了成本)是它比Subversion更复杂。在Subversion中,您可以简单地签出目录。在Perforce中,创建要签出的内容的视图,然后将其签出。这意味着学习视图配置语言。Perforce的第三方工具插件也比Subversion少,因为它不那么流行。但是,在您的情况下,这可能是好的。

如果您想要版本配置(数据),而不是监视数据的更改,您可以考虑一下

同时阅读和

PS-香草之上的自定义配置仍然需要Mercurial和MQ


PS2-不管怎样,你都会遇到TimesSamp问题

这不就是RCS的用途吗?现在真的,你在开玩笑吗?RCS工作在单个文件上,这与我所寻找的相去甚远。可以用Git或Mercurial等DVC为您提供有关“时间戳问题”的上下文。是的,我已经知道答案中有错误/愚蠢/不可行:)