• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大龍的博客

            常用鏈接

            統(tǒng)計(jì)

            最新評(píng)論

            Subversion使用“鎖定-編輯-解鎖”模型 --- 轉(zhuǎn)

            Subversion使用與CVS相似的工作模型,也就是“拷貝-修改-合并”,但是有時(shí)候還是很有必要使用“鎖定-編輯-解鎖”模型,例如對(duì)于二進(jìn)制文件,或者其他不太適合合并的文件。

            屬性在《使用Subversion進(jìn)行版本控制》這本書里也被稱為元數(shù)據(jù),是附加到版本控制下的 文件之上的屬性,就像最后的修改日期是一個(gè)文件的屬性一樣,你可以為Subversion控制之下的文件和目錄設(shè)置自定義的屬性。關(guān)于屬性的詳細(xì)信息可以 看:http://www.subversion.org.cn/svnbook/1.2 /svn.advanced.locking.html#svn.advanced.locking.lock-communication。

            在Subversion 里是通過內(nèi)置的屬性“svn:needs-lock”實(shí)現(xiàn)“鎖定-編輯-解鎖”模型的,例如我們有一個(gè)word文件“介紹.doc”,大家很清楚Word 文件是二進(jìn)制格式(據(jù)說以后都是XML的,但是可能也無法靈活的合并),不可能使用“拷貝-修改-合并”模型,所以我們要使用“鎖定-編輯-解鎖”模型。 你可以將它設(shè)置屬性“svn:needs-lock”,然后提交,之后其他人在更新這個(gè)文件的時(shí)候,就會(huì)得到一個(gè)只讀的文件,他們想修改這個(gè)文件必須首先 獲得鎖,獲得鎖的過程會(huì)將文件置為可寫,而其他人此時(shí)如果想得到鎖就會(huì)發(fā)現(xiàn)做不到,只有得到鎖的人放棄鎖定,別人才能得到鎖,繼續(xù)工作。下面分別講述了如 何使用svn命令行和TortoiseSVN設(shè)置鎖和使用鎖。

            1) 設(shè)定“svn:needs-lock”屬性

            使用命令行鎖定“介紹.doc”:

            svn propset svn:needs-lock 'x' 介紹.doc

            運(yùn)行這個(gè)命令后,“介紹.doc”就已經(jīng)是設(shè)置了“svn:needs-lock ”,但為了使之生效還要運(yùn)行“svn commit”,之后其他用戶update的時(shí)候就會(huì)發(fā)現(xiàn)這個(gè)文件已經(jīng)是只讀的了。需要注意的是我們?cè)O(shè)置的屬性值是“x”,實(shí)際上任意值都可以, Subversion會(huì)忽略其內(nèi)容。

            使用TortoiseSVN設(shè)定屬性也很簡單:

            “介紹.doc”右鍵選中- >屬性->Subversion選項(xiàng)夾->properties->add,然后在彈出的窗口中的property name選擇“svn:needs-lock”,值任意,然后選擇OK。之后再提交“介紹.doc”即可。

            2)獲取鎖

            在設(shè)定了這個(gè)屬性之后,我們要想修改“介紹.doc”,就必須首先獲得鎖,使用命令行操作如下:

            svn lock 介紹.doc

            這樣“介紹.doc”就變成了可寫文件,你可以進(jìn)行編輯修改了,這個(gè)時(shí)候如果有人和你一樣期望獲得這個(gè)文件的鎖就會(huì)得到錯(cuò)誤的提示,表示文件已經(jīng)被你鎖定了。

            使用TortoiseSVN的操作依然簡單,“介紹.doc”右鍵選中-> TortoiseSVN -> Get Lock... ,然后輸入鎖定的注釋,選擇“OK”,既完成了鎖定。

            3)釋放鎖

            當(dāng)你完成了修改,選擇提交后,默認(rèn)就會(huì)釋放鎖,別人就可以重新獲得鎖。當(dāng)然你也可以放棄修改,直接選擇釋放鎖,操作如下:

            svn unlock 介紹.doc

            這樣“介紹.doc”就重新變成只讀,別人就可以獲得鎖并進(jìn)行修改了。

            使用TortoiseSVN的操作為,“介紹.doc”右鍵選中-> TortoiseSVN -> Release Lock,然后選擇確認(rèn)即可。

            posted on 2012-12-15 23:43 大龍 閱讀(307) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久99精品国产麻豆蜜芽| 麻豆精品久久精品色综合| 久久久精品日本一区二区三区 | 99久久99久久精品国产片果冻| 国产精品一区二区久久| 国产精品久久久久影视不卡| 国内精品久久久久久久亚洲| 99久久国产综合精品女同图片 | 久久久精品久久久久特色影视| 国产精品久久久久久久久久影院| 精品人妻伦九区久久AAA片69| 久久综合综合久久97色| 亚洲人AV永久一区二区三区久久 | 国产成人无码精品久久久免费| 亚洲国产视频久久| 伊人久久大香线蕉精品| 无码AV波多野结衣久久| 欧美精品福利视频一区二区三区久久久精品| 伊人久久五月天| 久久黄视频| 久久久九九有精品国产| 久久香蕉国产线看观看精品yw| 日韩中文久久| 国产呻吟久久久久久久92| 久久精品亚洲日本波多野结衣 | 精品久久久久久无码不卡| 国产精品一久久香蕉产线看| 97精品国产97久久久久久免费| 欧美日韩成人精品久久久免费看 | 人妻无码αv中文字幕久久琪琪布| 99久久精品免费看国产一区二区三区 | 色综合久久综精品| 精品久久久无码人妻中文字幕豆芽| 久久国产综合精品五月天| 中文字幕亚洲综合久久| 精品久久久久香蕉网| 人人狠狠综合久久88成人| 久久夜色精品国产网站| 久久无码人妻一区二区三区| 精品无码久久久久久午夜| 亚洲精品国产美女久久久|