11.22.2006

SVN worklog - check SMDK2440A BSP.

SVN 是一個filesystem,具有history record的filesystem。
使用SVN,就像是對一個folder動作:將資料copy 到folder中,讓SVN幫你紀錄資料的變更,需要時,將SVN的資料copy 出來使用。
因為有history record功能,所以可以將任一時間的 folder "狀態" copy 出來。

利用這樣的功能,作source code的version control。

SVN 的 verison control 方式是利用folder的方式。
一個project 的source code分成三種狀態:
trunk : code developement history
tag : 特殊 狀態的snapshot。
release : releaes 的snapshot。
branch : 需要作branch 可以用這個,也可以跟tag 一起用。

所以在要利用SVN 管理一個project時,要先在SVN 的repository 中create 三個folder。
在SVN repository 中Creat Folder 沒有那麼直接:
  • 在Repository Folder中 New 個 folder : WINCE500_VSS0611
  • 在WINCE500_VSS0611處案右鍵,選"Create Repository"。
這樣,就create了一個Repository,預計給WINCE500_VSS0611用。
  • 另外在其他無關的的地方create 一個folder,裡面create三個sub folder : trunk, release, tag。
  • 在這個無關的folder 上按右鍵,選"import",URL 指定到WINCE500_VSS0611。
這樣,就藉由 "import" 動作,在WINCE500_VSS0611這個repoitory 內create了三個folder : trunk, release, tag。

接下來就可以將source code加到WINCE500_VSS0611:
  • 只要加入platform/smdk2440 這個folder,但是裡面有很多file 是不需要的,所以按右鍵,選"Setting",有一個ignore-list,加入以下字串,中間用space隔開:
    *.exe *.str *.lin *.exp *.pdb *.bin *.nb0 *.mac *.obj *.old *.bak *.dll *.map *.rel *.sre *.a *.log *.db

  • 在 SMDK2440A按右鍵,選check out,url 是repository 的WINCE500_VSS0611\trunk
  • check out後是空的,現在要加入檔案,同樣在SMDK2440A按右鍵,選Add。出現一些list,check 一下,有沒有你不要check in 的file,把他uncheck。
  • 右鍵,commit
以上就把SMDK2440A 這個folder commit 進WINCE500_VSS0611\trunk 中了。
可以開始修改source code,覺得需要record一下state時,就在該file(或是整個SMDK2440A)commit。

修改一陣子,若是覺得OK,要紀錄一下,就在SMDK2440A按右鍵,選branch/tag,URL 選WINCE500_VSS0611\Release\0.0.1 (0.0.1自己選)。
SVN會把目前的snapshot copy到Release\0.0.1 這個folder中。
這時候,若是要繼續改,記得要 "switch " 回trunk。

沒有留言: