亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        TortoiseSVN 在Android Studio 中的應(yīng)用研究

        2020-07-29 03:18:48劉軍華

        劉軍華,尹 根

        (湖南郵電職業(yè)技術(shù)學(xué)院,湖南長沙410015)

        軟件項目的開發(fā)通常是由多人協(xié)作分工完成的,在此過程中每個項目參與人都會創(chuàng)建大量的源代碼和文檔。如何在不使用SVN 服務(wù)端(VisualSVNServer)的情況下,對由多人共同編寫的源代碼和文檔進行有效地管理和維護成了困擾開發(fā)者的一大難題。比如,在高職院校技能競賽的移動互聯(lián)網(wǎng)應(yīng)用軟件開發(fā)、Web 應(yīng)用軟件開發(fā)、物聯(lián)網(wǎng)技術(shù)應(yīng)用等多個賽項中,就會涉及到要將多個選手編寫的項目代碼快速整合到一起的工作,讓許多參賽選手感到有些棘手[1]。本文以TortoiseSVN 免費開源的版本控制軟件為例,提出了在Android Studio 開發(fā)工具實現(xiàn)項目版本控制的參考方法。

        1 TortoiseSVN 概述

        1.1 TortoiseSVN 簡介

        SVN 是Subversion 的縮寫,是一個免費開源的版本控制軟件[2]。TortoiseSVN 是SVN 版本控制軟件的一個開源客戶端,可以超越時間進行文件和目錄管理。文件保存在中央版本庫,版本庫就像一個文件服務(wù)器,除了能記住文件和目錄的每次修改,還可以通過檢查歷史知道數(shù)據(jù)作了哪些修改以及是誰做的修改,且將文件恢復(fù)到過去的版本,因此也被稱為“時間機器”[3]。

        1.2 TortoiseSVN 相關(guān)概念

        版本庫(Repository):也稱代碼庫,存儲庫,中央版本庫,是源代碼統(tǒng)一存放的地方。它采用分層“文件——目錄”文件樹形式來存儲數(shù)據(jù),版本庫中存儲了項目的所有數(shù)據(jù),如項目源代碼和文檔等。每一個項目都是版本庫的子目錄,庫中記錄了每個用戶的每一次修改。連接到版本庫的用戶都能讀寫這些數(shù)據(jù),都能從版本庫中提取項目或提交項目到版本庫中去[4]。

        工作拷貝(Working copy):也稱工作副本。與中央版本庫相對應(yīng)的,它是開發(fā)者在本地機器上的一個文件目錄,里面存放著從版本庫中獲得的源代碼和文檔的一個副本,開發(fā)者可以在本地查看、修改、編譯、運行和調(diào)試,完成后再把新版本的源代碼和文檔提交到中央版本庫。

        提取(Checkout):也稱簽出。從版本庫中獲得要修改的文檔或源代碼等文件的過程稱為提取。

        提交(Commit):也稱簽入。將已經(jīng)修改好的文檔或源代碼等文件存入到版本庫中的過程稱為提交。

        更新(Update):也稱同步。將版本庫中的最新版本下載到本地,以確保本地的工作副本與版本庫中的源代碼保持一致。一般在提交之前建議先更新,否則其它用戶上傳的新版本在你沒有更新的情況下就會被覆蓋,導(dǎo)致數(shù)據(jù)丟失。

        2 TortoiseSVN 的工作原理

        使用TortoiseSVN 客戶端軟件在服務(wù)器上建立一個版本庫,版本庫里可以存放許多不同項目的源代碼和文檔資源,由版本庫管理員根據(jù)項目的配置管理計劃,為項目成員分配相應(yīng)的訪問權(quán)限以及對這些資源進行統(tǒng)一管理,每個版本庫有一個唯一的URL 標(biāo)識,項目成員通過URL 訪問版本庫中的資源[5]。其工作原理如圖1 所示。用戶在使用版本庫之前,首先要把版本庫里的項目文件提取到本地,也可稱為一個工作拷貝,然后在本地進行必要的修改,最后再通過提交功能將數(shù)據(jù)存入到版本庫。由于版本庫是集中式管理,任何修改都在本地進行,在修改未被提交到服務(wù)器前,服務(wù)器不會把當(dāng)次修改與其他人的數(shù)據(jù)合并,也不會把當(dāng)次修改展示給別人。因此,每次提交時,TortoiseSVN 都會將提交項目資源的版本與原有版本進行比較,如果有修改則記錄修改內(nèi)容,并更新版本號,這樣就實現(xiàn)了歷史操作的記錄,項目成員可以從版本庫中提取以往的任一版本。

        圖1 TortoiseSVN 工作原理圖

        3 TortoiseSVN 的安裝與配置

        一般情況下,搭建SVN 環(huán)境需安裝SVN 服務(wù)端(VisualSVN-Server)和SVN 客戶端(TortoiseSVN)兩款軟件。但是如果項目組開發(fā)人員的電腦在同一個局域網(wǎng)中,只使用TortoiseSVN 客戶端也能搭建一個局域網(wǎng)服務(wù)器,以實現(xiàn)對項目代碼的統(tǒng)一管理。下面介紹在Window7 下TortoiseSVN 客戶端安裝與配置方法。

        3.1 TortoiseSVN 的安裝

        進入到TortoiseSVN 官網(wǎng)下載TortoiseSVN 客戶端安裝文件。網(wǎng)站中提供了32 位和64 位安裝包以及中文語言補丁。下載完成后直接運行安裝包,根據(jù)向?qū)崾景惭b即可。安裝過程中,在圖2 顯示的這步中要選擇“Will be installed on local hard drive”。只有安裝帶有command line 功能的TortoiseSVN 客戶端,才能在Android Studio 中使用。

        圖2 TortoiseSVN 安裝向?qū)D

        3.2 TortoiseSVN 的配置

        3.2.1 搭建倉庫目錄

        新建一個空白目錄Demo 做"倉庫"(如E:Demo),在Demo 目錄中按下鼠標(biāo)右鍵,依次選擇"TortoiseSVN->Create Repository here"。會自動生成對應(yīng)的文件,完成后,直接點擊OK 即可。如圖3 所示。

        圖3 創(chuàng)建倉庫目錄圖

        其中:

        *conf 目錄:倉庫配置文件所在目錄(如倉庫的用戶訪問賬號、權(quán)限等)。

        *db 目錄:所有版本控制的數(shù)據(jù)存放目錄。

        *hooks 目錄:放置hook 腳本文件的目錄。

        *locks 目錄:用來放置SVN 文件庫鎖定數(shù)據(jù)的目錄,用來追蹤存取文件庫的客戶端。

        *format 文件:一個文本文件,里面只放了一個整數(shù),表示當(dāng)前文件庫配置的版本號。

        3.2.2 配置服務(wù)器

        以記事本的方式打開倉庫目錄下的conf/svn serve.conf 文件,在[general]節(jié)點下,去掉以下四行文本前的#和空格。

        anon-access=none //將read 改為none,設(shè)置未驗證用戶無任何權(quán)限

        auth-access=write //設(shè)置已驗證用戶給予寫權(quán)限

        password-db=passwd //將密碼數(shù)據(jù)存放到passwd 文件中

        authz-db=authz //將權(quán)限設(shè)置存放到authz 文件

        3.2.3 配置用戶

        以記事本的方式打開倉庫目錄下的conf/passwd文件,在[users]節(jié)點下,添加用戶名和密碼。如:

        admin=admin //設(shè)置admin 用戶名的密碼為admin

        user1=1234 //設(shè)置user1 用戶名的密碼為1234

        3.2.4 配置組和權(quán)限

        以記事本的方式打開倉庫目錄下的conf/authz 文件,在[groups]節(jié)點下設(shè)置組名及其成員。如:

        teacher=admin,user1 //設(shè)置teacher 組的成員包括admin 和user1。其中成員名必須是在passwd 文件已定義的用戶名,該項設(shè)置為可選項。

        另外,還要添加對倉庫目錄的訪問權(quán)限。如:

        [/] //表示倉庫的根目錄

        @teacher=rw //表示teacher 組的用戶對資源庫所有的資源擁有讀寫權(quán),其中組名必須是在[groups]節(jié)點下已定義的組名,使用時要在組名前面加上@符號。

        *=rw //表示所有用戶都具有讀寫權(quán)限

        3.2.5 啟動服務(wù)

        為了便于客戶端穩(wěn)定訪問服務(wù)器,將SVN 服務(wù)配置成Windows 系統(tǒng)服務(wù)??梢酝ㄟ^如下命令創(chuàng)建。

        sc create svnservice binpath="C:Program FilesTortoiseSVNinsvnserve.exe -- service -r E:Demo"http://創(chuàng)建一個名為svnservice 的SVN 服務(wù),svnservice 為服務(wù)名稱,E:Demo 為版本庫的路徑。

        net start svnservice //啟動svnservice 服務(wù)

        若有刪除服務(wù),可以使用sc delete"svnservice"命令。為了操作方便,可以將上述創(chuàng)建和刪除命令分別寫入到兩個bat 文件中,雙擊bat 文件即可實現(xiàn)啟動或刪除服務(wù)。

        3.2.6 訪問測試

        在創(chuàng)建SVN 服務(wù)并啟動后,就可以對倉庫進行訪問瀏覽。在桌面或任意位置空白處右鍵,依次選擇“TortoiseSVN->Repo-browser”菜單。在彈出的URL對話框中輸入要訪問的SVN 服務(wù)器地址,如:svn://192.168.0.101。輸入完成后,點擊“OK”按鈕,將彈出用戶驗證對話框。輸入設(shè)置的用戶名和密碼后,如輸入在passwd 文件中設(shè)置的用戶名(admin)和密碼(admin),即可打開倉庫瀏覽,至此,配置全部完成,可以進行簽入或簽出操作了。

        4 TortoiseSVN 在AS 中的應(yīng)用

        Android Studio(簡稱為AS)是Google 公司2013年推出的一款A(yù)ndroid 集成開發(fā)工具,它支持SVN 和GIT 兩種版本控制方式,兩者都需要在AS 中進行相應(yīng)的配置,才能與版本庫中進行checkout、commit 等操作。

        4.1 AS 中配置SVN

        打開Android Studio 的Settings 配置面板,依次點擊“Version Control-->SubVersion”菜單項,在Use command line client 選擇TortoiseSVN 安裝的路徑,一般默認(rèn)安裝路徑為“C:Program FilesTortoiseSVNinsvn.exe”。

        4.2 AS 中導(dǎo)入項目到版本庫

        將一個AS 項目導(dǎo)入到TortoiseSVN 版本庫有多種方法,既可以在項目所在文件夾上點擊右鍵,依次選擇“TortoiseSVN->import…”,又可以先用AS 打開項目后再直接導(dǎo)入或關(guān)聯(lián)導(dǎo)入。直接導(dǎo)入和關(guān)聯(lián)導(dǎo)入的最大區(qū)別在于直接導(dǎo)入的項目與SVN 服務(wù)器沒有建立起關(guān)聯(lián),直接將項目代碼提交到SVN 服務(wù)器,而關(guān)聯(lián)導(dǎo)入的項目則是先與SVN 服務(wù)器建立連接,然后再將項目代碼提交到SVN 服務(wù)器。另外,由于Android 項目中很多內(nèi)容是通過gradle 和build 工具構(gòu)建出的安裝程序,這些程序占用了很多空間,強烈建議不要將這些文件提交到SVN 服務(wù)器,這些需要忽略的文件主要包括.idea 文件夾、.gradle 文件夾、所有的build 文件夾、所有的.iml 文件以local.properties文件。下面以直接導(dǎo)入方法為例,介紹在AS 中導(dǎo)入項目到版本庫的操作方法。

        打開AS 集成開發(fā)環(huán)境,依次點擊“VCS-->Import Into Version Control->Import into Subversion”菜單項,將打開Import into Subversion 對話框,選擇要導(dǎo)入的版本庫路徑,然后單擊“Import”按鈕,即可選擇要導(dǎo)入項目所在的根目錄,完成導(dǎo)入,如圖4所示。由于直接導(dǎo)入不能很好地忽略指定的文件列表,可以在項目導(dǎo)入完成后,再在SVN 版本庫中刪除需要忽略的文件或文件夾。在AS 集成開發(fā)環(huán)境中,依次點擊“VCS -> Browse VCS Repository ->Browse Subversion Repository”菜單項,可以直接瀏覽SVN 上的內(nèi)容。

        圖4 AS 中導(dǎo)入項目到SVN 服務(wù)器示意圖

        4.3 AS 中提取版本庫項目

        將一個TortoiseSVN 版本庫中的項目提取到本地有多種方法,既可以在桌面或任意文件夾的空白處點擊右鍵,然后點擊彈出菜單中“SVN Checkout”,又可以在AS 歡迎界面“Check out project from Version Control”選項下選擇“Subversion”或者在打開AS 集成開發(fā)環(huán)境后,再依次點擊“VCS->Checkout from Version Control->Subversion”。

        從SVN 服務(wù)器中提取項目到本地后,該項目即與SVN 服務(wù)器保持連接,可實時從服務(wù)器下載文件,也可上傳文件到服務(wù)器。為了便于用戶快速區(qū)分文件是否與服務(wù)器同步,AS 集成開發(fā)環(huán)境中用不同顏色標(biāo)識文件和文件夾,其中綠色表示新文件但沒有提交,藍(lán)色表示該文件有修改但沒有提交,紅色表示該文件沒有加入版本控制VCS 中的新文件,褐色或灰色表示已忽略文件,黑色表示該文件與服務(wù)器同步。

        5 結(jié)束語

        在局域網(wǎng)中,僅用TortoiseSVN 客戶端軟件也能搭建一個本地服務(wù)器,以解決多人共同開發(fā)同一個Android Studio 軟件項目過程中出現(xiàn)的版本混亂、代碼整合難等問題,實現(xiàn)對項目源代碼和文檔的集中式管理,提高軟件開發(fā)效率。

        日本真人做人试看60分钟| 黄片一级二级三级四级| 第一九区另类中文字幕| 国产日本精品一区二区| 国产精品国产三级国产密月| 97久久超碰国产精品旧版| 99久久人人爽亚洲精品美女| 欧美情侣性视频| 久久久久成人精品免费播放| 一个人午夜观看在线中文字幕| 亚洲精品视频中文字幕| 成人无码av免费网站| 国内精品伊人久久久久影院对白| 亚洲成a人片在线播放观看国产| 久久精品国产亚洲AV高清wy| 亚洲一区二区三区日韩在线观看| aa片在线观看视频在线播放| 人妻无码aⅴ不卡中文字幕| 日韩一区二区超清视频| 精品国产成人一区二区不卡在线| 国产精品丝袜美女久久| 国产亚洲精品视频一区二区三区| 成年美女黄的视频网站| 亚洲欧美一区二区三区在线| 最新精品亚洲成a人在线观看| 无码91 亚洲| 国产一区精品二区三区四区| 九九久久精品国产免费av| 国产成人精品日本亚洲专区61| 又黄又爽又色又刺激的视频| 在线观看av片永久免费| av网址在线一区二区| 欧美做受又硬又粗又大视频| 久久中文字幕人妻熟av女蜜柚m | 日本一二三四高清在线| 久久久精品国产sm调教网站| 亚洲区日韩精品中文字幕| 精品中文字幕精品中文字幕| 偷拍激情视频一区二区三区| 亚洲av综合色区无码一二三区| 无码高清视频在线播放十区|