全面版本控制
2006 年 8 月 21 日
Apple 最近宣布推出 Time Machine,它能讓您回到過去,查看檔案的所有變更,包括尋找已刪除的檔案。對某些狂熱的極客來說,這並不是什麼新功能。和其他許多人一樣,我將整個工作目錄置於版本控制之下,最初是 CVS,現在是 Subversion,因此我能夠輕鬆查看我處理的所有內容的所有變更。這是一個非常有用的功能,我之前曾想過擁有 MoreVersionControl 會是什麼樣子,或許 Time Machine 就是朝這個方向邁出的一步。
Time Machine 被視為一個自動備份系統,因此它似乎不支援版本控制系統中的深思熟慮的提交概念。我認為這是最好的方法,至少在初期是這樣,這樣人們才能習慣這種系統的概念。基於時間的瀏覽器看起來很有趣,版本控制系統需要重新思考使用者介面,而誰比 Apple 更適合執行這項任務?
我認為更重要的步驟是讓這種功能更廣泛地可用,這將激勵應用程式開發人員。在 MoreVersionControl 中,我提到沒有足夠的應用程式知道如何進行差異和合併。或許 Time Machine 會開始讓人們思考這一點,並開始在應用程式中建置這些功能,這將使版本控制更加方便。
版本控制在單一桌面上很方便,但正如任何使用過它的人都知道的,真正的好處在於協作。軟體專案從使用版本控制系統作為協作工具中獲得極大的好處。其他工作也可以,簡報、白皮書、Excel 模型都可以從版本化協作工具中受益。(再次強調,缺乏智慧化差異與合併是一個很大的障礙。)即使是我這個孤家寡人,也從我的MultipleDesktops中受益匪淺。
因此,我希望時光機將刺激開發出能察覺版本控制並加以利用的應用程式,這反過來將轉變為更有效的協作。但在任何情況下,我強烈建議你現在就嘗試這麼做。Subversion 是免費且易於設定的,即使應用程式無法順利差異化和合併,與其他人使用共享版本化儲存庫協作仍有值得的好處。這比追蹤電子郵件文件或使用未版本化的共享磁碟機好多了。