2009-05-02 47 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關心知道。