2009-05-02 45 views
1

至少有两个辉煌的程序员,Linus Torvalds的和吉多·范罗苏姆,贬低把关键字的做法成展开,显示版本号,最后作者等如果禁止版本控制关键字,您如何防止文件混淆?

我知道关键字的差异如何凌乱的diff文件。我喜欢SlickEdit的DiffZilla的原因之一是因为它可以设置为跳过主要评论。

但是,我有团队编程的生动记忆,我们有一个文件的四个版本(两个不同的版本,一个客户一次性,以及开发版本)都可以同时打开补丁,而且相当有助于验证一眼,每次我们导航到一个包含的头部我们得到适当的一个,每次我们粘贴代码的源和目的地是我们所期望的。

此外,还有一种当文件系统匆忙地将文件从一个地方复制到另一个文件而不是使用该工具将其从存储库中检出的情况下出现的Where-did-this-file-come-from问题;或者更确定地说,当位置A,B和C的受控文件需要被整理(用樱桃采摘)到分发位置D.

在VCS关键字被禁止的地方,你如何应对?

回答

1

这并不完全回答你的问题,但我想像Linus和Guido有不喜欢关键字不适用于小团队公司发展的原因。

一个$Id$标签,例如,你可以认为是一个全球版本号。 Linux和我想Python开发是分散的,没有数字可以是全球性的。很多人都有自己的仓库,他们会填满他们自己的$Id$值,然后这些补丁可能会发送到Linus或Guido的仓库,在那里他们没有任何意义。

但是,在您的环境中,您可能有一个中央存储库将分配这些,它会很好。听起来像你使用混帐。我想知道是否可以配置中央git存储库来执行标记替换,而本地开发人员存储库则不能。或者,也许最好是在标签中获取提交哈希。

3

30多年来,我从未在整个职业生涯中使用过VCS关键字。从我使用的最原始的VCS系统到现在(TFS),我使用了其他一些结构来了解“我在哪里”。

我很少处于只有一个文件可以使用的情况。我通常会获得构建项目或项目组所需的所有其他文件。我通常使用分支(或一次有),并且我正在处理给定分支或流的某个片段。

如果我在多个分支或流上工作,每个目录树都会有一个。我需要做的就是知道我正在处理的文件是检查文件路径,最糟糕的是。

在最好的情况下,版本控制系统会告诉您正在处理的文件的版本,更改历史记录是什么,还有谁正在处理不同版本的文件以及其他任何文件, d关心知道。