<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Read Sean

    Read me, read Sean.
    posts - 508, comments - 655, trackbacks - 9, articles - 4

    昨天(周五)大家下班后,一個(gè)人留在公司,把核心產(chǎn)品開發(fā)團(tuán)隊(duì)使用了整整1年的CVS資源庫(kù)從CVSNT移到了Linux平臺(tái)下,原本以為會(huì)很簡(jiǎn)單很順利,因?yàn)橹邦愃频囊浦膊⒉皇菦](méi)有做過(guò),所以預(yù)估的時(shí)間包括驗(yàn)證在內(nèi)是1~2個(gè)小時(shí),不過(guò)最終卻花掉4個(gè)小時(shí)。怎么回事呢?且聽我慢慢道來(lái)。

    經(jīng)過(guò)1年的積累,資源庫(kù)有400多M,大大小小的Java項(xiàng)目有206個(gè)之多。按照最初的計(jì)劃,移植只需要原封不動(dòng)的把資源庫(kù)目錄整個(gè)從CVSNT服務(wù)器拷貝到Linux服務(wù)器即可,所以資源庫(kù)大小和項(xiàng)目多少本來(lái)不是啥大問(wèn)題,但誰(shuí)料半路卻殺出個(gè)程咬金:.jar文件在新的資源庫(kù)checkout到本地后無(wú)法正常使用,這還了得?

    仔細(xì)一看,乖乖,原本"Binary"的文件,在新的資源庫(kù)下,卻變成了"ASCII -kkv",不僅是.jar,其他的二進(jìn)制文件如.jpg, .exe之類的也是同樣的問(wèn)題。第一反應(yīng)是CVSNT和Unix經(jīng)典的CVS在處理RCS文件時(shí)還是有些不同,以至于原本在CVSNT下文件類別的標(biāo)記信息如"Binary"在移植過(guò)程中丟失了,變成默認(rèn)的文本類型。之前有朋友提醒的.doc文件移植后無(wú)法打開應(yīng)該也是同樣問(wèn)題。怎么辦?一個(gè)文件一個(gè)文件的改?肯定不現(xiàn)實(shí)。

    一種方案是把所有出現(xiàn)的二進(jìn)制文件類型/后綴名找出來(lái),然后在服務(wù)器端批量刪除(Linux下寫個(gè)腳本來(lái)做這件事并不難),客戶端這邊從原資源庫(kù)checkout最新版本,重定向資源庫(kù)URL到新的資源庫(kù),同步,提交。這招比較狠,但最終沒(méi)有用,因?yàn)樵跒g覽現(xiàn)有資源庫(kù)時(shí),發(fā)現(xiàn)還有不少其他問(wèn)題,如classes文件夾被加到版本控制中,類似還有.settings文件夾,甚至Thumbs.db,不一而足。時(shí)間有限,與其每個(gè)Java項(xiàng)目去找一遍,整理出需要?jiǎng)h除的文件(夾)清單,然后寫腳本,然后強(qiáng)行資源庫(kù)重定向,不如一步一個(gè)腳印把現(xiàn)有資源庫(kù)的所有Java項(xiàng)目捋一遍,至少心里踏實(shí)。于是一狠心、一咬牙,有潔癖的我開始了漫長(zhǎng)的"愚公移山":一個(gè)項(xiàng)目接一個(gè)項(xiàng)目,遇到Binary文件,服務(wù)器刪之,客戶端checkout后從原來(lái)的地方拷貝過(guò)來(lái),必要的地方加上.cvsignore,再添加提交。*

    經(jīng)過(guò)4個(gè)小時(shí)的努力,終于大功告成:自動(dòng)編譯腳本正確運(yùn)行,構(gòu)建成功,客戶端IDE(Eclipse)從新的資源庫(kù)checkout,編譯通過(guò),沒(méi)有紅叉。

    后記:自己認(rèn)為計(jì)劃得再好的事情,真正去做的時(shí)候,總還是會(huì)遇到這樣那樣的問(wèn)題和意想不到的狀況,這件事也告訴我自己其實(shí)我的前期準(zhǔn)備遠(yuǎn)不夠充分,算是自食其果吧。有沒(méi)有更好的辦法,我覺得肯定有,但是在特定的情況下(時(shí)間/效率/目標(biāo)),我相信我的方法還是能夠讓我自己滿意的。還有一點(diǎn)提醒所有CVS的用戶,不該提交的文件,最好第一時(shí)間加到.cvsignore。子曾經(jīng)曰過(guò):“糾正錯(cuò)誤,時(shí)間最早,代價(jià)越小”。

    * 請(qǐng)勿不假思索的模仿,這樣做會(huì)丟失掉這些文件的歷史版本信息,如果刪除的時(shí)候不小心,同時(shí)還會(huì)把歷史上存在過(guò)的同類型文件刪掉。我這里之所以可以這么做,是因?yàn)槲覀兊膶?shí)際情況對(duì)這些二進(jìn)制文件不需要保留歷史信息。


    Feedback

    # re: [愚公移山] 團(tuán)隊(duì)CVS資源庫(kù)從CVSNT遷移到Linux  回復(fù)  更多評(píng)論   

    2007-04-17 15:02 by bb
    “糾正錯(cuò)誤,時(shí)間最早,代價(jià)越小” 子也曰過(guò)嗎, 呵呵

    # re: [愚公移山] 團(tuán)隊(duì)CVS資源庫(kù)從CVSNT遷移到Linux  回復(fù)  更多評(píng)論   

    2007-07-06 17:10 by squall
    高手啊。。。我現(xiàn)在也做遷移不會(huì)啊。。。老出錯(cuò)。。我技術(shù)可沒(méi)你那么強(qiáng)

    # re: [愚公移山] 團(tuán)隊(duì)CVS資源庫(kù)從CVSNT遷移到Linux  回復(fù)  更多評(píng)論   

    2013-12-25 14:53 by guest
    這篇有提到如何轉(zhuǎn)換 CVSNT 成 CVS 只要簡(jiǎn)單的替換一行就可以了
    http://www.pchilton.co.uk/2010/05/06/converting-cvsnt-to-linux-cvs/
    主站蜘蛛池模板: 亚洲色丰满少妇高潮18p| 精品免费久久久久久久| 亚洲人成片在线观看| 区久久AAA片69亚洲| 国产精品视_精品国产免费| 18观看免费永久视频| 亚洲AV日韩AV无码污污网站| 亚洲va国产va天堂va久久| 免费人成无码大片在线观看| 一二三四视频在线观看中文版免费| 可以免费观看的国产视频| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲熟妇丰满xxxxx| 337p日本欧洲亚洲大胆精品555588| 亚洲一级特黄无码片| 国产三级免费电影| 免费黄色网址入口| 亚洲AV天天做在线观看| 2048亚洲精品国产| 免费jlzzjlzz在线播放视频| 成人免费淫片在线费观看| 一二三四免费观看在线视频中文版 | 曰批全过程免费视频网址 | 亚洲精品乱码久久久久久蜜桃不卡 | 337p日本欧洲亚洲大胆艺术| 亚洲av午夜福利精品一区| 亚洲国产精品成人精品无码区在线| 亚洲午夜久久久久久久久久| 亚洲午夜久久久影院| 日本亚洲欧洲免费天堂午夜看片女人员 | 久久综合亚洲色HEZYO社区| 亚洲韩国在线一卡二卡| 亚洲高清视频在线播放| 亚洲精品美女久久久久| 亚洲综合亚洲国产尤物| 亚洲成aⅴ人在线观看| 国产成人精品日本亚洲专一区| 亚洲www77777| 真正全免费视频a毛片| 特级做a爰片毛片免费看| kk4kk免费视频毛片|