日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Subversion简介

發(fā)布時間:2024/1/1 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Subversion简介 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Subversion?

Subversion 是一個 免費/開源 的?版本控制系統(tǒng)?(version control system, 簡稱 VCS), 也就是說, Subversion 可以跨越時間對文件和目錄, 以及它們的修改進行管理. 這就允許你恢復(fù) 數(shù)據(jù)的舊版本, 或檢查數(shù)據(jù)的修改歷史.?

?Subversion 的架構(gòu)

?

?

基本工作周期

Subversion 支持的特性與選項非常豐富, 但是能夠在日常工作中用到的卻很 少. 日常工作中最常用到的 Subversion 操作.

典型的工作周期就像:

  • 更新工作副本.?這會用到命令?svn update.

  • 修改.最常見的修改就是編輯已有文件的內(nèi)容, 但有時還要添加, 刪除, 復(fù)制和移動文件或目錄 — 命令?svn add,?svn delete,?svn copy?和?svn move?負責(zé) 處理工作副本的結(jié)構(gòu)性調(diào)整.

  • 審核修改.?用命令?svn status?和?svn diff?查看工作副本發(fā)生了哪些變化.

  • 修正錯誤.?人無完人, 在審核修改時用戶可 能會發(fā)現(xiàn)某些修改是不正確的. 有時候修正錯誤最簡單的方式是撤消所有的 修改, 重新開始. 命令?svn revert?可以把文件或目 錄恢復(fù)到修改前的樣子.

  • 解決沖突 (合并其他人的修改).?當(dāng)一個用戶 正在修改文件時, 其他人可能已經(jīng)把自己的修改提交到了服務(wù)器上. 為了防止 在提交修改時, 由于工作副本過舊導(dǎo)致提交失敗, 用戶需要把其他人的修改 更新到本地, 用到的命令是?svn update. 如果命令 的執(zhí)行結(jié)果有沖突產(chǎn)生, 用戶需要用命令?svn resolve?解決沖突.

  • 發(fā)布 (提交) 修改.?命令?svn commit?把工作副本的修改提交到倉庫中, 如果修改 被接受, 其他用戶就可以看到這些修改.

  • ?

    基本用法:

    出去上面那些,還有一下比較常用的如下:

    在版本庫目錄下:? svn? ?+? ?help ,? import , list , checkout , status , log , cat , annonate , lock , changelist , copy , merge .


    ?

    倉庫的定義

    如果站在文件瀏覽器 (例如 Windows 資源管理器) 或基于命令行的文件 系統(tǒng)導(dǎo)航工具來看, Subversion 倉庫只是一個包含了眾多數(shù)據(jù)的普通目錄, 其中一些子目錄包含了人類可讀的配置文件, 還有些子目錄包含的是人類不可 讀的文件.?

    基本組件:

    # ls
    conf db format hooks locks README.txt

    ?conf/? ?存放配置文件的目錄

    db/? 該目錄包含了與所有版本化數(shù)據(jù)相關(guān)的數(shù)據(jù)

    format??該文件描述了倉庫的內(nèi)部組織結(jié)構(gòu). (目錄?db/?有時候也會有一個叫做?format?的文件, 這個?format?僅僅是在描述?db/?的內(nèi)容, 這兩個?format?之間并沒有關(guān)系.)

    hooks/??該目錄包含了鉤子腳本模板和已安裝的鉤子腳本.

    locks/??Subversion 用該目錄存放倉庫的鎖文件, 鎖文件用于管理倉庫的并發(fā) 訪問.

    README.txt??包含了一小段內(nèi)容的文本文件, 文件的內(nèi)容僅僅是為了提醒計算機 用戶該文件所在的目錄是一個 Subversion 倉庫.

    創(chuàng)建倉庫

    創(chuàng)建 Subversion 倉庫是一件非常簡單的工作, 用到的命令是?svnadmin create.

    $ # Create a repository $ svnadmin create /var/svn/repos $

    假設(shè)父目錄?/var/svn?已存在, 并且管理員對父 目錄擁有寫權(quán)限, 上面的命令在?/var/svn/repos?創(chuàng)建了一個新的倉庫, 使用的是默認的后端存儲類型 (FSFS). 你還可以利用 選項?--fs-type?顯式地指定后端存儲類型, 該選項接受 的參數(shù)是?fsfs?或?bdb.

    $ # Create an FSFS-backed repository $ svnadmin create --fs-type fsfs /var/svn/repos $ # Create a legacy Berkeley-DB-backed repository $ svnadmin create --fs-type bdb /var/svn/repos

    使用 svnadmin 遷移倉庫數(shù)據(jù)

    無論遷移倉庫歷史是出于什么樣的原因,?svnadmin dump?和?svnadmin load?的用法都非常 簡單直接.?svnadmin dump?按照 Subversion 的文件 系統(tǒng)轉(zhuǎn)儲格式, 輸出一段范圍內(nèi)的版本號. 轉(zhuǎn)儲的結(jié)果會被打印到標(biāo)準(zhǔn)輸出, 而提示性的信息則會打印到標(biāo)準(zhǔn)錯誤, 這就允許管理員把輸出重定向到文件 的同時, 在終端窗口中查看命令的狀態(tài)輸出, 例如:

    $ svnlook youngest myrepos 26 $ svnadmin dump myrepos > dumpfile * Dumped revision 0. * Dumped revision 1. * Dumped revision 2. …

    命令執(zhí)行結(jié)束時, 你將得到一個文件 (在上面的例子里, 文件名是?dumpfile), 這個文件包含了在指定的版本號范圍 內(nèi), 存放在倉庫中的所有數(shù)據(jù). 因為?svnadmin dump?從倉庫中讀取版本號的過程和其他?讀者”?(例如?svn checkout) 讀取倉庫的過程是一樣的, 所以 可以在任意時刻, 安全地執(zhí)行?svnadmin dump.

    與?svnadmin dump?配對的命令?svnadmin load?從標(biāo)準(zhǔn)輸入讀取 Subversion 倉庫的轉(zhuǎn)儲文件, 把文件中 的版本號重放到目標(biāo)倉庫中. 在命令的執(zhí)行過程中仍然會輸出提示性的信息, 不過這次是打印到標(biāo)準(zhǔn)輸出:

    $ svnadmin load newrepos < dumpfile <<< Started new txn, based on original revision 1* adding path : A ... done.* adding path : A/B ... done.…

    倉庫備份

    對于 Subversion 倉庫管理員來說, 有兩種備份策略—全量備份與 增量備份.

    $ svnadmin hotcopy /var/svn/repos /var/svn/repos-backup

    得到的備份是一個完整的 Subversion 倉庫, 能夠在原倉庫出現(xiàn)故障時 頂替上去.

    移動與刪除倉庫

    Subversion 倉庫的所有數(shù)據(jù)都存放在倉庫目錄中, 所以說管理員可以使用 操作系統(tǒng)提供的命令—Unix 系統(tǒng)的?mv,?cp -a,?rm -r; Windows 系統(tǒng)的?move,?copy,?rmdir /s /q; 或其他圖形化文件瀏覽器提供的鼠標(biāo)和菜單操作— 實現(xiàn)倉庫的移動, 重命名, 復(fù)制和刪除.

    ?


    ?

    版本庫維護

    svnadmin程序除了提供創(chuàng)建Subversion版本庫的功能,這個程序使你可以維護這些版本庫。

    # svnadmin help general usage: svnadmin SUBCOMMAND REPOS_PATH [ARGS & OPTIONS ...] Type 'svnadmin help <subcommand>' for help on a specific subcommand. Type 'svnadmin --version' to see the program version and FS modules.Available subcommands:crashtestcreatedeltifydumphelp (?, h)hotcopylist-dblogslist-unused-dblogsloadlslockslstxnspackrecoverrmlocksrmtxnssetlogsetrevpropsetuuidupgradeverify

    svnlook是Subversion提供的用來查看版本庫中不同的修訂版本和事務(wù)(正在產(chǎn)生的修訂版本)。這個程序不會修改版本庫內(nèi)容-這是個“只讀”的工具。

    # svnlook help general usage: svnlook SUBCOMMAND REPOS_PATH [ARGS & OPTIONS ...] Note: any subcommand which takes the '--revision' and '--transaction'options will, if invoked without one of those options, act onthe repository's youngest revision. Type 'svnlook help <subcommand>' for help on a specific subcommand. Type 'svnlook --version' to see the program version and FS modules.Available subcommands:authorcatchangeddatediffdirs-changedfilesizehelp (?, h)historyinfolocklogpropget (pget, pg)proplist (plist, pl)treeuuidyoungest

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/zwj-linux/p/11599688.html

    總結(jié)

    以上是生活随笔為你收集整理的Subversion简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。