通過SVN進(jìn)行離線同步的方法

背景


由于出差現(xiàn)場(chǎng)與公司網(wǎng)絡(luò)不通,兩地開發(fā)無法通過同一個(gè)SVN服務(wù)器進(jìn)行管理声功。進(jìn)行代碼同步比較困難叛复。進(jìn)行代碼合并往往費(fèi)時(shí)費(fèi)力,需要找到一個(gè)更好的方法提升效率家厌。

對(duì)比


之前的方案

方式: 改動(dòng)方直接通過SVN導(dǎo)出差異的文件播玖,或者是記住改動(dòng)過的文件,只復(fù)制改動(dòng)過的文件饭于。SVN導(dǎo)出的方式的缺點(diǎn)是沒有SVN服務(wù)器的一方在導(dǎo)出時(shí)沒法導(dǎo)出增量部分蜀踏,而復(fù)制的方式是只適合少量修改的情況维蒙,否則容易出現(xiàn)遺漏。

然后果覆,接收方收到改動(dòng)的代碼文件后的合并方案通常是提交本地代碼到SVN颅痊,然后將收到的文件覆蓋本地文件再次提交,通過SVN的版本記錄來對(duì)比局待,再逐個(gè)文件查看斑响,對(duì)比差異合并代碼,或者是直接通過Android Studio或是Merge等工具進(jìn)行文件合并燎猛。

缺點(diǎn): 這種方式進(jìn)行代碼合并恋捆,不僅僅對(duì)于改動(dòng)文件需要逐個(gè)查看合并,還需要對(duì)雙方改動(dòng)代碼都了解重绷。而且還非常容易出現(xiàn)遺漏沸停、覆蓋的問題。不僅勞心勞力還容易出錯(cuò)昭卓。對(duì)于刪除文件也不能同步愤钾。

SVN同步方案

方式: 改動(dòng)方直接提交到SVN,然后導(dǎo)出SVN增量版本候醒,并將增量包發(fā)給對(duì)方能颁。然后接收方將增量包導(dǎo)入到SVN倉庫中,再從SVN中更新代碼倒淫,合并后再提交伙菊。

優(yōu)點(diǎn): 雙方都可以只發(fā)增量部分,不會(huì)隨著迭代次數(shù)加大而增加合并難度敌土。通過SVN的合并镜硕,不需要查看處理所有改動(dòng)文件,只需要處理有沖突的文件就可以了返干,這一步可以減少大量的工作量兴枯。同時(shí),還可以同步刪除的文件矩欠。

缺點(diǎn): 雙方提交代碼到SVN之前需要確認(rèn)SVN倉庫處于同步狀態(tài)(即雙方的SVN記錄是完全一致的)财剖。也就是說只有一方允許提交代碼,另一方要提交代碼必須等到從對(duì)方那拿到增量版本同步了倉庫之后才能提交癌淮。否則會(huì)造成兩個(gè)倉庫無法同步躺坟。

具體操作


  1. 首先,雙方都安裝VisualSVN乳蓄。安裝時(shí)要安裝命令行工具瞳氓。

  2. A導(dǎo)出倉庫。在Repositories下的工程倉庫Project上右鍵,然后選擇Backup Repository匣摘,然后在彈窗上根據(jù)提示選擇文件夾與文件名并導(dǎo)出倉庫店诗。

  3. B導(dǎo)入倉庫。在Repositories上右鍵音榜,然后選擇Restore Repository庞瘸,然后在彈窗上根據(jù)提示選擇從A處獲取到的倉庫備份文件并導(dǎo)入倉庫。

  4. B切入倉庫路徑赠叼。在工作目錄上右鍵-->TortoiseSVN-->重新定位(Reload)-->在彈窗中輸入剛剛還原的倉庫的路徑-->然后確認(rèn)

    經(jīng)過前面4個(gè)步驟擦囊,在兩端搭建了兩個(gè)完全一致的兩個(gè)倉庫,并且兩方各自的工作目錄指向了各自的倉庫嘴办,到此同步環(huán)境就搭建好了

  5. A提交代碼瞬场。目前SVN倉庫是同步狀態(tài),A或者B都可以提交代碼涧郊。但是A提交后B就不能提交了贯被。但是A可以進(jìn)行多次提交。

  6. A導(dǎo)出增量版本妆艘。導(dǎo)出命令格式是

    svnadmin dump REPOS_PATH [-r LOWER[:UPPER] [--incremental]]

    示例:

    svnadmin dump "D:\Repositories\project" -r 1:2 --incremental > "D:\project.bak"
    
  7. B加載增量版本彤灶。導(dǎo)入的命令格式是

    svnadmin load REPOS_PATH

    示例:

    svnadmin load "D:\Repositories\project" < "D:\project.bak"
    
  8. B更新代碼,處理沖突批旺,完成代碼合并幌陕。

注意: A與B同時(shí)只能一方提交,另一方需要在同步后才能提交汽煮。所以每次需要提前確認(rèn)好搏熄。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市暇赤,隨后出現(xiàn)的幾起案子搬卒,更是在濱河造成了極大的恐慌,老刑警劉巖翎卓,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異摆寄,居然都是意外死亡失暴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門微饥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逗扒,“玉大人,你說我怎么就攤上這事欠橘【丶纾” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵肃续,是天一觀的道長黍檩。 經(jīng)常有香客問我叉袍,道長,這世上最難降的妖魔是什么刽酱? 我笑而不...
    開封第一講書人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任喳逛,我火速辦了婚禮,結(jié)果婚禮上棵里,老公的妹妹穿的比我還像新娘润文。我一直安慰自己,他們只是感情好殿怜,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開白布典蝌。 她就那樣靜靜地躺著,像睡著了一般头谜。 火紅的嫁衣襯著肌膚如雪骏掀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評(píng)論 1 308
  • 那天乔夯,我揣著相機(jī)與錄音砖织,去河邊找鬼。 笑死末荐,一個(gè)胖子當(dāng)著我的面吹牛侧纯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播甲脏,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼眶熬,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了块请?” 一聲冷哼從身側(cè)響起娜氏,我...
    開封第一講書人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎墩新,沒想到半個(gè)月后贸弥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡海渊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年绵疲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片臣疑。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡盔憨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出讯沈,到底是詐尸還是另有隱情郁岩,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站问慎,受9級(jí)特大地震影響萍摊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蝴乔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一记餐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧薇正,春花似錦片酝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至猴仑,卻和暖如春审轮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背辽俗。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國打工疾渣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人崖飘。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓榴捡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親朱浴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吊圾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 3個(gè)問題 安裝優(yōu)化軟件環(huán)境nginx,lvs <== 運(yùn)維工程師 程序代碼(不斷更新)<==開發(fā)工程師翰蠢,開發(fā)+運(yùn)維...
    木心若素閱讀 7,949評(píng)論 1 7
  • 命令的使用 1项乒、檢出 svn cohttp://路徑(目錄或文件的全路徑)[本地目錄全路徑] --username...
    小李龍彪閱讀 4,447評(píng)論 0 9
  • WC:Working Copy 你的工作區(qū) Versioned:受控的;受版本控制的 SVN是什么梁沧? SVN是開源...
    Programmer客棧閱讀 686評(píng)論 0 4
  • 如果剛到一個(gè)新公司,還要用 SVN ,接老項(xiàng)目,簡易 SVN 操作 一檀何、創(chuàng)建代碼倉庫 1.首先在某個(gè)目錄下面新建一...
    4b5cb36a2ee2閱讀 800評(píng)論 0 0
  • 終于安靜下來,是我第N次聽見對(duì)面樓那個(gè)男人大吵大叫廷支,有時(shí)和自己的孩子频鉴,抱怨自己的孩子沒有禮貌,作業(yè)沒有完成酥泞,或者不...
    軸人閱讀 180評(píng)論 0 1