發表文章

目前顯示的是有「subversion」標籤的文章

DevToolNotes:Subversion文件

因為DVCS崛起 Subversion的氣勢下滑許多, 然而因為工作關係, 目前接觸的客戶90%在公司內部還是在使用Subversion, 觀察到已經在使用DVCS的公司, 除了Android開發非得用在企業內部使用Git做版本控制, 因為在Subversion上Scale的擴充遇到一些瓶頸也有一些客戶開始評估Git或是Mercurial來做未來的版本控制軟體升級準備, VCS隨著檔案數量的增長還有沒有正確使用Branch功能(不斷的使用目錄copy功能==..), 讓檔案庫越來越大, 效能也變得很差, VCS有一個罩門, 當人數越多,同時commit code會讓網路流量變大, 所以速度也會變慢, DVCS大部分時間都是在local端做版本控制, 所以這方面的問題少很多, DVCS最大的好處是就算Server掛了這段期間, 並不會影響工作的進行. 不過目前觀察到企業還沒有大量的導入DVCS, 我看到還有一些因素 導入成本: DVCS的學習門檻比VCS高了一些, 企業好不容易導入了Subversion,轉換到DVCS會多出許多教育訓練的成本, 這部份可能會隨著時間來削減, 因為在開放原始碼開發者社群幾乎一面倒轉換到了DVCS, Google Code, GitHub這些知名的source code代管網站都支援了DVCS, 所以開發者藉由開放原始碼開發軟體也間接開始學習DVCS, 未來在企業內部導入DVCS, 教育訓練成本會越來越低 權限控管: DVCS是clone了一份檔案庫在開發者的電腦, 所以要做到Subversion的ACL有目錄等級的權限控管並沒太多意義. 不過這方面還是可以做事先規劃來避免, 例如將軟體架構模組化, 每一個模組有各自的檔案庫(Repository), 這樣就不會一個開發者就clone了所有公司的source code到自己的電腦. 這部份codebeamer就扮演不錯的角色, CB 5.7版可以在一個專案中建立多個DVCS檔案庫, 每個檔案庫並可以設定不同角色有不同的clone/push的權限 從以上因素與觀察, VCS, Subversion還會存活一段時間, Subversion短期內並不會在公司內部消失:-), 以下是我之前在devtoolnotes.esast.com所整理Subversion相關的wiki文...

DVCS(Distributed Version Control System)介紹

此篇Blog移到 http://ideas.esast.com/wordpresstw/?p=179

SubVersion study todos

Subversion 1.5已經到release candidate 8了, 整理一下思緒, 先將要study的subversion新功能link整理起來 Merge Tracking merge tracking project , merge-tracking in a nutshell : Branch/Merge 這個功能在version control工具中,很容易搞混的功能, merge tracking算是1.5版的一大功能特色 WebDAV Proxy , WebDAV Proxy+Svnsync : 對於使用Subversion做兩岸之間的協同作業, 對於WebDAV Proxy這個功能一定要瞭解,可以省下一部分的頻寬 How often should I sync? ( 簡中版 ): 這一篇文章詳細說明subversion的備份要領, 做好subversion備份可以高枕無憂, svnsync是1.4版後就有的功能.

發現Netbean 6.1的bug

圖片
前幾天收到通知, Netbean 6.1 release , Well其實我並不是Netbean重度使用者,大部分開發Java程式我還是使用 Eclipse , 不過最近看到Netbean確實有在進步, 其中有一項是最讓我心動的 Up to 40% faster startup Eclipse雖然還不錯用, 但是不知道是plugin安裝太多, 還是其他因素, Eclipse啟動時間一直很讓我不太滿意, 如果Netbean可以滿足Eclipse 可以做到的功能(很不幸,我比較常用的 Mylyn 似乎還沒porting到Netbean), Netbean也許是開發Java程式另一個不錯的選擇. 就在這樣的動機下,將Netbean 6.1安裝起來, Netbean 6.1的啟動速度確實比Eclipse快很多, 就算是我安裝All版本,跟Java SE版本比起來,並不會感覺 啟動速度變慢的問題, 這一點Eclipse真的要加油了, 接下來就是 SubVersion 的整合了(這也是之前我唾棄Netbean的主因之一,只support CVS),很不幸 Netbean一直show error message說找不到svn client, 我將svn client設到PATH環境變數再重新啟動Netbean, 還是找不到, 我用google找一下,大部分 的answer都是說PATH設定的問題. 為了證明這是Netbean 6.1的bug, 我將Netbean 6.1 uninstall,裝起了Netbean 6.0.1版,Netbean 6.0.1可以讀到 PATH環境變數, 而Netbean 6.1確不行. 我將這個Bug report到Netbean的bug tracker , 為了不要鬧笑話, 我將Netbean官方release的 subversion整合文件 再K一次, 發現一些端倪, svn client可以直接在 Netbean IDE設定, 到Tools/options/versioning中設定svn client的path, 設完後再re-start Netbean就可以了, 不過我還是report一個 bug 給Netbean. 我想應該 許多從Netbean6.0升級到6.1的user都會遇到這個問題. 後記: 其實在Netbean 6.1的w...

TortoiseSVN會影響檔案總管效能?

在 JavaWorld 看到有網友在討論TortoiseSVN會影響檔案總管效能, 請參考 這裏 , 用了TortoiseSVN很久並沒有注意到這個設定, 設完之後,檔案總管開Folder時確實快許多

Atomic commit?

在Study SubVersion 有一個技術名詞讓我感到很困惑, 一直到WANdisco CTO Rahul Bhargava 來訪,才恍然大悟, 我們先看看網路上的翻譯 1. 不可分割的送交 一個送交動作, 不是導致所有更動都送入檔案庫, 就是完全不會送入. 這讓發展人員以邏輯區段建立更動, 並送交更動. 2. 原子提交 至於簡中解釋就不再多說了 3.英文版SubVersion Book 的解釋 Atomic commits A collection of modifications either goes into the repository completely, or not at all. This allows developers to construct and commit changes as logical chunks, and prevents problems that can occur when only a portion of a set of changes is successfully sent to the repository. 如 果初接觸SubVersion, 我相信很多人對段文字很困惑, Rahul 先生用一個簡單的例子來解釋為何要atomic commit, 他說如果你修改10個Folder裏面的10個檔案, 然後用CVS commit 到CVS Server, 可是commit到第5個folder的檔案, 網路突然斷線, 你猜會發生什麼事? 因為CVS並不support atomic commit 所以CVS是一個一個檔案upload 到 Repository 做 diff 比對,然後真正將diff的結果寫入CVS Server的meta data file , 所以網路斷線的結果照成前5個folder的檔案是commit成功, 後面的5個folder的檔案是commit 失敗, 所以造成local 端的工作目錄與Repository是處於out of sync 的狀態, 我這邊沒有實際測試CVS Client端例如WinCVS對於那些commit 失敗的檔案是如何顯示其狀態, 但是可想而知與Repository out of sync 必需要再做一次cvs update. SubVersion 支援Ato...

Word's Version Control

圖片
Word 檔案為 MicroSoft 獨有的檔案格式 , 目前為最受歡迎的文書處理檔案格式 , 在專案管理過程中 , 更被許多專案經理拿來撰寫專案指導文件 , 客戶需求規格文件 , 或是使用者操作手冊 , 工程師也會利用 Word 來撰寫工程規格 , 使用者介面規格等等 . 但是面對專案中各種不同的 Word 檔案 , 身處在瞬息萬變的資訊科技產業 , 文件的變更管理已經是無可避免 , 客戶的需求一直在變 , 工程規格也是隨之而變 , 最大的困擾是如何維護這些 Word 檔案的版本 ? 如何比對這些不同版本 Word 文件的異同 ? 成為日常工作中的最大夢魘 ,Office 2003 雖然本身具備有版本控管功能 , 也有比對 Word 檔案異同功能 , 但是這兩個功能確沒有整合讓使用者比對同一文件不同版本的功能 , 使用者只好將不同版本以另存新檔的方式再逐一比對 . TortoiseSVN為SubVersion的Windows 用戶端, SubVersion為美國COLLABNET公司所支援的OpenSource, 為新一代 的 版本控制引擎, 除了可控管各式程式語言檔案例如C/C++/C#, JAVA , IC設計的Verilog, VHDL , 甚至Word檔, PowerPoint , Excel 都可以利用SubVersion做文件版本控管, 當團隊中有兩個人以上要維護共同的檔案時的版本同步, SubVersion可以提供很好的解決方案. 如果需要更多SubVersion 資訊可到 http://subversion.tigris.org/ 使用環境 SubVersion Server 版本 1.2.3 Windows XP SP2 中文版 TortoiseSVN 1.2.4.4479 Office 2003 SP2 使用TortoiseSVN比對 本文示範案例為一個Word檔案名為 「嵌藝創研推出CodeBeamer+ SubVersion震撼組合」文章, 此文章主要由yu-shiu撰寫, maoyang負責校稿與修正. 情境一: yu-shiu 已經將最新的文件納管到檔案庫, 並通知maoyang更新他的工作目錄以同步yu-shiu最新修改的文章 圖 1 maoyang使用SVN Update 以同步yu-shiu的檔案 圖 2...