[英]How to upgrade svn client from 1.6.16 to 1.7.2 using TortoiseSVN and PushOk
[英]release from SVN using “export” and then? how to upgrade?
使用SVN,我正在考慮使用SVN export命令將第一個版本(版本1.0)發布到生產服務器。
升級的下一步是什么? 例如,如果我想發布下一個1.1的版本,應該怎么做呢? 如果不刪除所有文件,有沒有辦法從標簽升級?
一般發布步驟:
從主/測試分支創建標記 。 這是發布的代碼。 並且不能在沒有分支的情況下進行修改。 這是1.0版。 您在生產服務器上構建和部署此代碼。
繼續在主分支(主干)中編譯版本1.1。 在v1.1結束時,您將創建另一個將發布版本1.1的標記。 等等。
理想情況下,每個版本保留一個標記。 如果有固定點必須轉到以前發布的版本,你(1)從該標簽創建一個分支 (比如說1.0),(2)修復分支中的問題,(3)從這個分支創建另一個標簽發行版1.0.1
請注意,整個過程中不會刪除任何文件。 您只是創建新的分支,這是您的代碼庫的廉價副本 。
更新
但是,如何在生產中升級到標簽1.1? SVN導出是否會覆蓋現有文件並刪除標簽1.1中刪除的文件? 這是我的擔憂。
兩件事情
出口不會從任何地方刪除任何文件。 它下載了您作為參數提供給它的URL的干凈副本(沒有.svn和其他特定於SVN的東西)。 在這里看到svn export
創建分支或標記時,您應該復制。 而不是導出然后導入。 最常見的發布流程如下圖所示:(對於可悲的藝術抱歉)
具有時間的SVN存儲庫狀態
/---> Tag 1.0.1(release to prod)
/--- Branch 1.0.1 for spot-fixes----|
/ |
/---Tag 1.0 (released to prod) v (merge fixes) /---Tag 1.1 (released to prod)
Trunk ----->'------Development for v1.1----------------'----------------->'----Development for v1.2-->
您看不到任何內容被刪除,並且每個版本都有標簽。
聽起來你想要做一些持續的整合。
您可以掛起各種構建服務器以與SVN服務器集成,這樣您就可以迭代地發布構建。
比使用導出手動執行更自動化。
看一下
http://www.thoughtworks-studios.com/go-agile-release-management/
要么
http://www.jetbrains.com/teamcity/
那里還有很多其他人......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.