我通读了许多有关简单源代码控制工具的问题,Git似乎是一个合理的选择。我已经启动并运行它,并且到目前为止效果很好。我喜欢CVS的一个方面是版本号的自动递增。
我知道在分布式存储库中这没什么意义,但是作为开发人员,我想要/需要这样的东西。让我解释一下原因:
我使用Emacs。我会定期查看并查找第三方软件包的Lisp源文件的新版本。假设我有一个文件foo.el,根据标题,该文件的版本为1.3;如果我查找最新版本,并看到它是1.143或2.6或其他值,我知道我已经远远落后了。
相反,如果我看到几个40个字符的散列,我将不知道是哪个以后的时间,也不会知道以后的时间多少。如果我不得不手动检查ChangeLogs以了解我过时了,我绝对会讨厌它。
作为开发人员,我希望将这种礼貌扩大到使用我的输出的人员(也许我在开玩笑的是有人在,但让我们暂时搁置一旁)。我不想每次都要自己增加该死的数字,时间戳或类似的东西。那是真正的PITA,我从经验中知道这一点。
那我有什么选择呢?如果我无法获得等价的$ Id:$,我还能如何提供所需的内容?
我应该提一下,我的期望是最终用户不会安装Git,即使安装了Git,也不会有本地存储库(实际上,我希望不以这种方式提供它)。
filter-branch
或某种东西重建整个事物。