第363章 git

投票推薦 加入書籤 小說報錯

  2000年3月1日,上午八點。濟南,歷下區。

  凌雲坐在書房裡,面前那台電腦是星火電子廠自己產的,外殼是銀灰色的,鍵盤是星火機械鍵盤,滑鼠是光電的。他用了兩個月了,手感還行。屏幕上開著一個命令行窗口,黑色的背景,綠色的光標一閃一閃的。他盯著那個光標看了一會兒,然後開始敲鍵盤。

  cd git

  make

  ./git –version

  屏幕上跳出一行字:git version 0.1

  他靠在椅背上,看了一會兒那行字,拿起桌上的手機,給李默發了一條簡訊:「Git做完了,你那邊怎麼樣?」

  過了幾分鐘,李默回了一條:「伺服器已經搭好了,域名解析正常,隨時可以上線。」

  凌雲把手機放下,打開瀏覽器。地址欄里他打了一個網址,回車。頁面慢慢加載出來,白底黑字,很簡單。最上面寫著「星辰開源社區」幾個字,下面是幾個板塊:項目列表、代碼倉庫、文檔、論壇。頁面很空,只有幾個測試帖子,是李默和江楓前兩天發的。

  他盯著那個頁面看了幾秒,然後關掉。他又打開一個命令行窗口,開始打包代碼。

  tar -czf git-0.1.tar.gz git/

  打包完,他打開FTP客戶端,輸入伺服器地址,用戶名,密碼。他把那個壓縮包拖進去,放在「/pub/software/」目錄下面。進度條走了一會兒,走完了。

  他又打開瀏覽器,刷新了一下星辰開源社區的頁面。首頁上多了一行:「新項目:Git – 分布式版本控制系統」。他點進去,頁面里寫著幾行字:Git是一個分布式版本控制系統,用於追蹤代碼變更。開源協議:GPL。作者:凌雲。下載地址:/pub/software/git-0.1.tar.gz

  他看著那幾行字,看了很久。然後他退出來,回到首頁,又刷新了一遍。下載次數那一欄,還是0。

  他站起來,去廚房倒了杯水。安詩語在客廳里陪女兒玩,小傢伙坐在地毯上,面前擺著一堆積木,正在往高里摞。。

  安詩語抬頭看見他,問他:「忙完了?」

  凌雲端著杯子回答說:「差不多了。」

  安詩語點點頭,沒再問。她低頭看著女兒,小傢伙又摞了四塊,這次沒倒,正在摞第五塊。

  凌雲站在那兒看了一會兒,轉身回了書房。他回到電腦前,刷新了一下頁面。下載次數:1。

  他盯著那個數字,看了幾秒。然後他又刷新了一下,變成2了。

  他靠在椅背上,看著那個數字一點一點往上跳。8,12,17,23,31。

  有人開始在論壇里發帖了。第一個帖子標題是「Git測試」,內容是「下載了,編譯通過了,還沒用熟,先留個名」。發帖人的ID是一串數字,看不出是誰。凌雲沒回帖,繼續刷新。下載次數跳到47了。

  第二個帖子標題是「這個版本管理工具是幹啥的」,下面有人回覆說「類似於CVS,但是分布式的」。又有人回覆說「分布式的?有意思」。還有人回復「作者是凌雲?是星辰科技那個凌雲嗎?」

  凌雲看著那個問題,沒回答。

  中午,安詩語來叫他吃飯。紅燒肉、清炒菜心、西紅柿雞蛋湯。女兒坐在餐椅上,面前放著小碗小勺,正在自己吃,糊了一臉米飯。凌雲在她旁邊坐下,小傢伙看了他一眼,又低下頭繼續吃。這二十天,她已經不躲他了,但也不怎麼親。就那樣,不哭不鬧,也不叫爸爸。

  安詩語給他盛了碗飯,放在他面前。他端起碗,吃了幾口。

  安詩語問他:「那個東西,有人用嗎?」

  凌雲回答說:「有。上午幾十個人下載了。」

  安詩語點點頭,夾了塊紅燒肉放進他碗裡。

  吃完飯,凌雲幫安詩語收了碗筷,洗了碗,擦乾手,又回到書房。他刷新了一下頁面。下載次數:231。

  論壇里的帖子多了一些,有十來條了。有人問怎麼用,有人貼了一段使用記錄,有人說編譯的時候出了個錯。凌雲點進那個報錯的帖子,看了一遍,然後回覆:「需要GCC 2.8以上版本。低版本會有兼容性問題,下個版本會修復。」

  回復完,他打開代碼,開始改。


  下午三點,李默打電話過來。

  「凌總,你看到了嗎?」

  凌雲回答說:「看到了。兩百多人下載了。」

  李默說:「不止。我看了伺服器日誌,IP來自十幾個國家。美國、德國、日本、英國,都有,有人在論壇里問能不能提交代碼。」

  凌雲想了想,然後說:「可以,但得審核。」

  李默問他:「審核標準呢?」

  凌雲回答說:「代碼規範,邏輯清晰,不引入新bug。你先看一遍,拿不準的再給我。」

  李默說:「好。」

  凌雲又問他:「星辰的內核源碼,上傳了嗎?」

  李默回答說:「上傳了。按你說的,全部公開,包括內核、驅動框架、基礎庫,都放在公開代碼庫里了。」

  凌雲點了點頭,說:「好。」

  李默頓了一下,然後問他:「凌總,你真的要把內核源碼全公開?那可是咱們三年的心血。」

  凌雲回答說:「公開了才能活下去,一個人寫不動了,得讓全世界的人幫咱們寫。」

  李默沒說話,過了幾秒才說:「我知道了。」

  掛了電話,凌雲打開星辰開源社區,找到代碼倉庫那一欄。最上面就是星辰系統的內核源碼,旁邊寫著「StarOS Kernel Source Code」。他點進去,是一棵目錄樹,密密麻麻的文件夾,從內存管理到進程調度,從文件系統到網絡協議棧,全在那兒。

  他看了幾秒,然後關掉了。

  下午四點,論壇里又多了一個帖子。標題是「StarOS內核代碼閱讀筆記」,發帖人是一個新註冊的ID,寫了一千多字,分析星辰內核的內存管理模塊的設計思路,最後說「這個設計很巧妙,比Linux的某些實現還要高效」。底下有人回覆說「作者就是星辰的創始人,能不高明嗎」。還有人回覆說「他好像從星辰退出了,現在在國內」。

  凌雲看著那些帖子,沒回復。

  傍晚的時候,安詩語帶著女兒出去買菜了。家裡安靜下來。凌雲一個人坐在書房裡,又刷新了一下頁面。下載次數:487。論壇帖子:43條。代碼倉庫的克隆次數:129次。

  他打開一個終端窗口,輸入了一行命令。

  git clone XXXXXXXXXXXXXXXXXXXXXXXXXXXX

  代碼開始往下拉,一行一行地在屏幕上跑。他看著那些文件名一個一個地閃過,mem_alloc.c,sched.c,ipc.c,file_system.c,driver.c。他寫的,李默寫的,艾瑞克寫的,還有很多人的名字,都混在裡面。拉了十幾秒,拉完了。他在本地建了一個新分支,名字叫「user/l凌雲/experimental」。

  然後他開始改代碼。

  晚上七點,安詩語和女兒回來了。女兒在門口換鞋,換了一半就跑進來,手裡舉著一根棒棒糖,衝著他喊:「爸爸!糖!」

  凌雲愣了一下,這是他回來後女兒第一次叫他。他蹲下來,看著女兒的臉。小傢伙臉上紅撲撲的,眼睛亮亮的,把棒棒糖往他面前遞。他接過來,剝開糖紙,塞進嘴裡,甜甜的。

  安詩語站在門口,看著他們,嘴角動了一下。

  他站起來,抱著女兒去了客廳。安詩語進廚房做飯去了。他坐在沙發上,女兒坐在他腿上,手裡拿著遙控器,對著電視按來按去。電視裡在放動畫片,她看了一會兒,不看了,又按。他由著她按。

  吃飯的時候,安詩語問他:「明天還忙嗎?」

  凌雲回答說:「忙。但可以在家裡忙。」

  安詩語點點頭,沒再問。

  吃完飯,凌雲又回到書房。他打開論壇,又多了幾個帖子。有一個帖子是問能不能把Git移植到Windows上,他回了一句「可以,需要有人做移植」。還有一個帖子是問星辰內核的下一個版本有什麼規劃,他想了想,回了一句「支持ARM架構,降低功耗」。

章節目錄