2013-11-09 20 views
2

我發現似乎是我需要恢復的某些源代碼的舊源代碼庫。但我不知道用什麼源代碼控制工具來生成和管理這個源代碼庫。在目錄中,所有文件都有「s」。前綴爲文件名。不知道這些文件中的格式,我無法以任何準確度手動提取源代碼。即使我這樣做了,手動提取源代碼也會非常耗時且容易出錯。哪個源代碼管理使用「s」。其文件名前綴?

什麼來源/版本控制系統以「s」作爲其源文件的前綴。當它將源文件存儲在其存儲庫目錄中時?

如何從此存儲庫目錄中有效提取最新的源代碼?

回答

2

s.前綴是SCCS(源代碼管理系統)的特徵。該代碼可能仍然是專有的,但GNU的CSSC項目可以操縱SCCS文件。它跟蹤修訂版中每個文件的更改,稱爲「增量」。

SCCS是POSIX的官方版本控制系統;你可以找到記錄在公開組的網站上的命令(但文件格式中未指定,AFAICT):

文件格式不被POSIX指定。 get的說明書頁面上說:

SCCS文件應該是未指定格式的文件。

原SCCS命令集包括一些額外的不POSIX記錄:

  • CDC - 改變增量評論(用於改變增量的簽入註釋)
  • 梳 - 結合起來,有效地用於合併deltas
  • help - 無前綴;當時沒有任何其他help計劃。命令生成錯誤代碼,如cm3help解釋它們。
  • sccsdiff - 一個文件的兩個三角洲之間的差異

大多數系統現在有一個簡單的命令,sccs,這需要操作名稱,然後選擇。通常,這些文件被放置在./SCCS/子目錄中並根據需要從中提取,而sccs前端將處理名稱擴展,將s.SCCS/s.添加到文件名的開頭。

要提取最新版本的源代碼,請使用get

get s.* 
sccs get s.* 

這些將獲得每個文件的默認版本,默認的默認值是該文件的最新版本。

如果您需要進行更改,使用:

get -e s.filename.c 
...make changes... 
delta -y'Why you made the changes' s.filename.c 
get s.filename.c 

注意,文件「丟失」 s.前綴工作文件名,而不是像RCS(版本控制系統)文件丟失,v後綴工作文件名稱。如果您還沒有遇到過這種情況,請接受在SCCS和RCS創建時與70年代後期或80年代早期不同的情況。

+0

感謝Robin和Jonathan的評論。那是我需要的。我能夠安裝支持'sccs get'命令的gnu cssc。我能夠很容易地重新激活這個存儲庫中的源代碼。再次感謝你們...... –

2

SCCS使用s。字首。但它可能不是唯一的!

我從來不知道這些知識會有用一天!

相關問題