青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Thronds

一問你會什么 二問你做出過什么 三問你為了什么

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  36 隨筆 :: 0 文章 :: 56 評論 :: 0 Trackbacks

此文雖看上去寫的很詳細,但有些地方卻還模糊,該簡潔的地方沒有簡潔,讀者很容易迷糊。再留下一個ubuntu系統下配置cvs的文章,比較簡潔。
http://www.yuanma.org/data/2006/0424/article_299.htm
在Linux和Windows下搭建CVS服務器與CVS客戶端的詳細配置指南


============================================
時間:2007-04-12
作者:飄揚
首發:飄揚博客
網址:http://piaoyang.org
Q Q: 47720194
郵箱:piaoyang168#163.com  
版權聲明:可以任意轉載,轉載時請務必標明原始出處和作者信息
============================================

摘要:本教程包含CVS的入門知識講解、在linux和windows下CVS服務器與CVS客戶端的配置指南,詳細介紹了配置過程,可以說是一篇組建CVS開發環境的入門、學習與提高的完美教程。通過本教程你可以在最短的時間里面最快的搭建好CVS服務器與CVS客戶端的的開發環境。如有不明之處,請聯系飄揚,你可以到我的博客飄揚博客http://www.piaoyang.org 給我留言或QQ47720194,我會盡力解答你的問題。

***********************************
目錄:
一、CVS入門知識詳解
         1、什么是 CVS?
         2、CVS基本概念
二、Linux下CVS服務器與客戶端的配置
         1、Linux下CVS服務器的配置
         2、Linux下CVS客戶端的配置
三、Windows下CVS服務器與客戶端的配置
         1、windows下CVS服務器的配置
         2、windows下CVS客戶端的配置
四、結束語
***********************************


一、CVS入門知識詳解

1、什么是 CVS?

CVS 是一種客戶機/服務器系統,類似于microsoft SourceSafe,可以讓開發人員將他們的項目存儲在稱為資源庫的中央位置。使用 cvs 客戶機工具,開發人員可以對資源庫的內容進行更改。CVS 資源庫會依次記錄對每個文件所做的每個更改,并創建一個完整的項目開發進展歷史。開發人員可以請求特定源文件的舊版本、查看更改日志,并根據需要執行其它一些有用的任務。所有重要的免費軟件項目都使用 CVS 作為其程序員之間的中心點,以便能夠綜合各程序員的改進和更改。這些項目包括: Gnome, KDE, The GIMP, Wine, 等等。

CVS 的基本工作思路是這樣的:在一臺服務器上建立一個倉庫,倉庫里可以存放許多不同項目的源程序。由倉庫管理員統一管理這些源程序.這樣,就好象只有一個人在修改文件一樣.避免了沖突.每個用戶在使用倉庫之前,首先要把倉庫里的項目文件下載到本地。用戶做的任何修改首先都是在本地進行,然后用 cvs 命令進行提交,由 cvs 倉庫管理員統一 修改.這樣就可以做到跟蹤文件變化,沖突控制等等.

CVS可以協助一組人共同開發一個工程。如果你是一個項目中的一組成員之一,CVS也能夠幫助你。除非你特別仔細,你很容易覆蓋其他人的工作。一些編輯器,例如GNUEmacs,試圖去判定一個文件是否被兩人同時修改。不幸的是,如果一個人使用其它的編輯器時,這個安全方式將不再有效。CVS使用讓不同開發者獨立工作的方式解決了這個問題。每一個開發者的工作都在他自己的目錄內,并且CVS將 在每個開發者的工作完成后進行合并工作。

由于 CVS 是典型的 C/S 結構的軟件,因此它也分成服務器端和客戶端兩部分。不過大多數CVS 軟件都把它們合二為一了。我們這里就分別從服務器和客戶端的角度討論cvs的使用。

2、CVS基本概念

Repository(倉庫)
CVS的倉庫存儲全部的版本控制下的文件copy,通常不容許直接訪問,只能通過cvs命令,獲得一份本地copy,改動后再check in(commit)回倉庫。而倉庫通常為與工作目錄分離的。CVS通過多種方式訪問倉庫。每種方法有不同目錄表示形式。數據如何存放在repository中:隨著CVS版本的不同,存放結構會發生變化,一般情況下用戶無需了解數據到底是如何存放的。

Revision(修訂版)
每一個file的各個revision都不相同,形如1.1, 1.2.1,一般1.1是該文件的第一個revision,后面的一個將自動增加最右面的一個整數,比如1.2, 1.3, 1.4...有時候會出現1.3.2.2,原因見后。revision總是偶數個數字。一般情況下將revision看作時CVS自己內部的一個編號,而tag則可以標志用戶的特定信息。

Tag(標簽)
用符號化的表示方法標志文件特定revision的信息。通常不需要對某一個孤立的文件作tag,而是對所有文件同時作一個tag,以后用戶可以僅向特定tag的文件提交或者checkout。另外一個作用是在發布軟件的時候表示哪些文件及其哪個版本是可用的;各文件不同revision可以包括在一個tag中。如果命名一個已存在的tag默認將不會覆蓋原來的;

Branch(分支)
當用戶修改一個branch時不會對另外的branch產生任何影響。可以在適當的時候通過合并的方法將兩個版本合起來;branch總是在當前revision后面加上一個偶數整數(從2開始,到0結束),所以branch總是奇數個數字,比如1.2后面branch為1.2.2,該分支下revision可能為1.2.2.1,1.2.2.2,...

Conflict(沖突)
完全是純文本的沖突,不包含邏輯上的矛盾,比如CVS不能解決如下問題:某人修改了函數f的參數,而另外一個人在另外一個地方用老的參數調用該函數。文本沖突需要用戶自己參與解決,CVS無法自動解決。(如還有不明之處,請聯系飄揚,你可以到我的博客飄揚博客http://www.piaoyang.org 給我留言或QQ47720194,我會盡力解答你的問題。)

Module(模塊):CVS服務器根目錄下的第一級子目錄。通常用于存放一個項目的所有文件
Check out(檢出):通常指將倉庫中的一整個模塊首次導出到本地。
Check in(導入)::通常指通過提交整個目錄結構并創建一個新的模塊。
Release(發行版本):整個產品的版本
Update(更新):從模塊中下載其他人的修改過的文件。更新本地的拷貝。
Commit(提交):將自己修改過的文件提交到模塊中。

二、Linux下CVS服務器與客戶端的配置與使用

1、Linux下CVS服務器的配置
在RedHat Linux 7.1之后的版本上,都有自動安裝CVS服務器軟件,只要對該軟件進行設置,即可使用。此次配置我用的是虛擬機VMware環境下的linux redhat9.0,下面是具體的配置過程。

1.1 創建cvs組并加入用戶
在root權限下,創建一個cvs組并加入成員
1) 創建組:groupadd cvs
2) 打開/etc/group文件,找到該組,如cvs:x:514:,在后面添加要加入的用戶,比如piaoyang,chen等,以逗號隔開,編輯結果是:cvs:x:514:piaoyang, chen
只有加入這個組中的成員才能進行相關CVS操作。保存該文件。

1.2 創建一個倉庫
假定將CVSROOT指向/usr/local(也可以指向別的目錄),用root登錄。
1) 創建cvsroot目錄:mkdir /usr/local/cvsroot
2) 設置該目錄的模式:chmod 1777 /usr/local/cvsroot
3) 修改環境變量:export CVSROOT= /usr/local/cvsroot
4) cvs init   這樣就創建了 CVSROOT。
5) 更新環境變量:
#source   /etc/profile
此時系統已經認識$CVSROOT這樣的環境變量

1.3 裝入源代碼
1) 進入代碼所在目錄:cd [sourcedir],如cd test
2) 裝載cvs import -m "[repository test]" [cvstest] [vendortag] [releasetag]
-m后面引號內填入log內容,接下來是源代碼模塊名稱,接著是裝載者,最后是標識符號,
例如:cvs import –m “cvs test” cvstest piaoyang start
cvs組中的用戶也可以創建倉庫,但必須有寫權限,該權限的設置在下面將會提到。(如還有不明之處,請聯系飄揚,你可以到我的博客飄揚博客http://www.piaoyang.org給我留言或QQ47720194,我會盡力解答你的問題。)

1.4 設置權限
cvs初始化結束以后,在管理員用戶(這里是cvs用戶)的主目錄/usr/local/cvsroot/下有一個 CVSROOT 目錄,這個目錄里有三個配置文件:readers,writers, passwd。我們可以通過設置這三個文件來配置 CVS 服務器用戶的權限,下面分別介紹這幾個文件的作用:
     readers文件:此文件中的用戶允許對模塊進行讀取,不允許寫入;
     writers文件:此文件中的用戶允許對模塊進行讀取和寫入;
     passwd文件:此文件存儲用戶名和密碼,當用戶登錄時進行驗證;
     1) readers和writers的格式如下,每個用戶占據一行:
       aaa
       bbb
       ccc
     2) passwd文件的格式如下,每個用戶占據一行:
           [cvs 用戶名]:[加密的口令]:[等效系統用戶名]
     如:   piaoyang:$1$rPVPciBw$IK3fb4jO7hQbPXFjK3ee..:piaoyang
     其中“piaoyang:$1$rPVPciBw$IK3fb4jO7hQbPXFjK3ee..:”從/etc/shadow中拷貝過來。
     3) 上面三個文件在缺省安裝的時候可能都不存在,需要我們自己創建,好吧,現在還是讓我們用一個例子來說明吧。假設我們有下面幾個用戶需要使用 cvs:
    laser,gumpwu,henry,betty,anonymous
其中 laser 和 gumpwu 是系統用戶,而henry, betty, anonymous 我們都不想給系統用戶權限,并且 betty 和 anonymous 都是只讀用戶,而且 anonymous 更是連口令都沒有。
然后編輯 cvs 管理員家目錄里 CVSROOT/passwd 文件,加入下面幾行:

laser:$xxefajfka;faffa33:cvspub 
gumpwu:$ajfaal;323r0ofeeanv:cvspub
henry:$fajkdpaieje:cvspub
betty:fjkal;ffjieinfn/:cvspub
anonymous::cvspub

注意:上面的第二個字段(分隔符為 :)是密文口令,從/etc/shadow中拷貝過來即可(此方法適合cvs用戶較少的情況,如果用戶過多,則需要自己用程序生成密碼了)。
編輯 readers 文件,加入下面幾行:
anonymous
betty
編輯 writer 文件,加入下面幾行:
laser
gumpwu
henry
這樣就 ok 了,你再用幾個用戶分別登陸測試,就會發現一切都 ok 了。這里面的原理和說明我想就不多說了,其實很簡單,和系統管理用戶的概念是一樣的。

1.5 設置開機自動運行CVS
1) 在/etc/xinetd.d目錄下生成一個文件cvspserver。輸入命令:
     touch cvspserver
     vi cvspserver
     在cvspserver文件里寫入如下內容并保存:
# CVS : current version contrl system 
# DEFAULT: services is enable
# this server script was be writed by piaoyang.org
# www.piaoyang.org  

service cvspserver

{
     socket_type = stream
     protocol = tcp
     wait = no
     user = root
     server = /usr/bin/cvs
     server_args = -f --allow-root=/usr/local/cvsroot pserver
     log_on_success +=USERID
     log_on_failure +=USERID
     disable = no
}

2) 修改該文件權限:
chmod 644 cvspserver
3),到/etc/rc.d/init.d路徑下,運行如下指令重新啟動xinetd即可:
./xinetd restart
4) 重啟后用root登錄,察看cvs服務器是否已經運行:
netstat -l |grep cvspserver
如果返回tcp 0 0 *:cvspserver *:* LISTEN,則說明cvs服務器已經運行。

2、Linux下CVS客戶端的配置
為了連接到 CVS 資源庫,您需要知道稱為 "CVSROOT" 的路徑。CVSROOT 是一個字符串,就象 URL,它告訴 CVS用戶遠程資源庫在哪里,以及如何連接它。不僅如此,根據 CVS 資源庫是本地的還是遠程的,以及連接到它的不同方式,CVS 還有許多不同的 CVSROOT 格式。

2.1 連接CVS服務器
當然你必須擁有cvs用戶帳號和密碼,以及相關權限。在Linux環境下:
1) 本地 CVSROOT
     export CVSROOT=/usr/local/cvsroot (告訴CVS客戶端,存放代碼的資源庫在什么地方)
     一個實際的例子,在版本管理員將代碼庫存放在192.168.0.8 的機器上,路徑為:
     /usr/local/cvsroot(如果你telnet 到 192.168.0.8 的機器上的時候,此時你就是在本機)
2) 遠程密碼服務器 CVSROOT
     export CVSROOT=:pserver:piaoyang@192.168.0.8:/usr/local/cvsroot(注意冒號不能漏掉,句子中間沒有空格)
     pserver 是CVS內部的一種傳輸協議。
     piaoyang 是用戶名,
     192.168.0.8 機器的IP或名字(如果有DNS才能用名字)
     /usr/local/cvsroot 是代碼庫的具體路徑
(注意:如果你不想每次敲這么多枯燥的命令,你可以在你登陸的時候讓系統作這些事情,具體的作法是修改你登錄的環境變量。現在用piaoyang作為例子,在文件/home/piaoyang/.bash_profile后面加入
export CVSROOT=/home/cvsroot 或export CVSROOT=:pserver:piaoyang@192.168.0.8:/home/cvsroot
并在根目錄下運行:. ./.bash_profile)

2.2 登錄CVS服務器
cvs login
(Logging in to cvs@192.168.0.8)
CVS password:(在此輸入密碼)

2.3 拷貝相應模塊代碼并進行開發
如輸入: cvs -z5 checkout VPN
此命令告訴 CVS 客戶端使用 gzip 壓縮級 5 ("-z5") 在慢速連接上加快傳輸速度,來檢出 ("checkout")VPN模塊。
一旦檢出命令完成,將在包含最新源碼的當前工作目錄中看到 "VPN" 目錄。還會注意到每個子目錄下都有一個"CVS"目錄 -- CVS 在這些目錄中存儲帳戶信息,可以放心地忽略它們。一旦檢出結束,用戶就無需擔心是否設置了 CVSROOT 環境變量,也無需再在命令行上指定它,因為現在所有額外的 "CVS" 目錄里都有它的緩存。
記住:只需要為初始登錄和檢出設置 CVSROOT。至此你就可以在剛才check out的VPN模塊上進行修改或開發了。(如還有不明之處,請聯系飄揚,你可以到我的博客飄揚博客http://www.piaoyang.org給我留言或QQ47720194,我會盡力解答你的問題。)

三、Windows下CVS服務器與客戶端的配置

1、windows下CVS服務器的配置
在此,我們以WinCVS為例來介紹。WinCVS顧名思義,是用在windows上的,它是一款相當不錯的基于Windows的CVS客戶端軟件。安裝時沒有什么特別的地方,與普通的Windows軟件相同,一路next就OK了。(最新的WinCVS可以從http://sourceforge.net/project/showfiles.php?group_id=10072地址下載到,也可以在http://sourceforge.net/project 上下載到最新的或其它版本的WinCVS。)由于是軟件界面配置,所以針對界面選項填入相應的參數即可,在此不再贅述。

2、windows下CVS客戶端的配置
同樣我們以WinCVS為例來介紹。安裝這個WinCVS不用再啰嗦一遍了吧,跳過,來看配置過程!

2.1 配置WinCVS
選擇Admin->Preferences…,在出現的界面上進行一般選項的設置:
1) Authentication:用來配置cvs服務器的認證方式,可以從下拉框中選擇其它的認證方式,不過一般只要選擇默認的pserver方式就可以,要注意的是必須與cvs服務器配置時所指定的認證方式一致;
2) Path:用來配置cvs在服務器上的主目錄路徑,也就是服務器上用進行cvs初始化的目錄,如:/home/cvsroot;
3) Host Address:用來配置cvs服務器所在服務器的地址,可以是IP地址,也可以是DNS名,如:10.104.1.204;
4) User name:用來配置要使用些WinCVS來登錄CVS服務器的用戶名,如:cvsyxwu,用戶的登錄必須由管理員把其添加cvs用戶組中;
5) CVSROOT:此項一般都不需要用戶進行修改,用戶在輸入上邊的幾個選項時,系統將自動根據用戶的輸入生成此項的相應內容。
6)在上一個界面上選擇“Globals” ,進行全局選項的設置,此項的配置主要是要注意這幾選項:
第一,Checkout read-only不要選上,否則,checkout出來的源代碼將不允許用戶進行修改,并且此選項默認是選中的;
第二,Prune (remove) empty directories也不要選上,否則,會自動刪除空目錄;
第三,對一般配置沒有特殊要求的,把Dirty files support、Supply control when adding與TCP/IP compression選項選中;

2.2 登錄WinCVS服務器
選擇Admin->login,將出現如下對話框要求用戶輸入登錄口令。輸入口令后,選擇“OK”按鈕,如果CVS服務器與WinCVS的配置都沒出錯的話,將在CVS的狀態欄中提示:
cvs -z9 -d :pserver:cvsyxwu@10.104.1.204:/home/cvsroot login
Logging in to :pserver:cvsyxwu@10.104.1.204:2401/home/cvsroot
***** CVS exited normally with code 0 *****
code 0表示正確的登錄;而如果出錯的話,將是code 1,那么要根據錯誤的提示進行相應的修改。

2.3拷貝相應模塊代碼并進行開發
1) 在workspace中的Modules選中要存放checkout模塊的目錄;
2) 選擇Create->Checkout Modeles,將出現一個對話框,需要進行選擇。其中,Module name and path on the server就是要存放checkout 內容的目錄,由用戶輸入;而Local folder to checkout to就是第一種用戶所選擇的目錄。
3) 至此你就可以在剛才check out的代碼上進行修改或開發了。

四、結束語
如果你是通篇讀到這里,那么到這里,你基本上已經能為自己或公司配置一個實用的CVS服務器與CVS客戶端了,無論是在Linux下,還是在Windows下。謝謝你的耐心與信任,同時也對你的小有成就小小的祝賀一下。在最后飄揚要申明的是,本教程里的大部分內容是由網上多篇介紹CVS的文章提取而來,飄揚只是用自己的邏輯和語言將這些內容串聯起來。在此,飄揚對這些文章的原作者深表感謝。如還有不明之處,請聯系飄揚,你可以到我的博客飄揚博客http://www.piaoyang.org 給我留言或QQ47720194,我會盡力解答你的問題。以此拙作,希望能給大家帶去些微的幫助。

本文為飄揚原創,首發飄揚博客http://piaoyang.org,作者郵箱piaoyang168#163.com,請尊重版權,轉載請保留本行說明。
posted on 2009-03-27 15:34 thronds 閱讀(1928) 評論(0)  編輯 收藏 引用 所屬分類: Linux/Unix高級技術工程管理
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产精品激情在线观看| 欧美在线播放一区二区| 香蕉久久夜色精品国产| 91久久在线视频| 国产欧美在线观看一区| 欧美日韩免费观看一区三区| 欧美成人免费全部| 欧美激情精品久久久久久黑人| 免费看的黄色欧美网站| 欧美成人精品h版在线观看| 国产视频欧美视频| 在线不卡视频| 最新国产の精品合集bt伙计| 亚洲精品社区| 亚洲女女女同性video| 性欧美video另类hd性玩具| 欧美中文日韩| 欧美xxx在线观看| 欧美激情按摩| 亚洲网站在线播放| 欧美在线观看一二区| 久久精品国内一区二区三区| 嫩草国产精品入口| 91久久精品一区二区三区| 欧美激情第六页| 欧美福利网址| 在线一区亚洲| 久久久久久久尹人综合网亚洲| 麻豆成人在线播放| 免费在线看一区| 久久一本综合频道| 欧美日韩国产成人在线免费| 国产精品一区二区三区久久久 | 欧美国产极速在线| 99国产精品久久久久久久久久 | 亚洲一区图片| 美女精品在线| 国产精品久久久久久久久免费桃花| 国产欧美综合在线| 久久gogo国模裸体人体| 久久久在线视频| 欧美色中文字幕| 亚洲高清久久| 亚洲精品综合| 另类专区欧美制服同性| 国产乱码精品| 欧美日韩一区二区在线观看视频 | 亚洲欧美清纯在线制服| 亚洲一区二区三区在线看| 久久久久欧美精品| 久久人人97超碰人人澡爱香蕉| 国产精品久久久久久久久久妞妞| 亚洲精品一区二区网址| 欧美黑人在线播放| 久久影视精品| 亚洲国产欧美另类丝袜| 国产精品视区| 免费在线观看成人av| 久久男人资源视频| 久久精视频免费在线久久完整在线看| 亚洲精品久久视频| 亚洲国产成人不卡| 91久久国产综合久久| 久久精品在线观看| 国内精品福利| 亚洲精品女人| 欧美激情一区二区三区成人| 黄色小说综合网站| 国产精品区一区二区三| 亚洲视频免费看| 欧美一区视频在线| 亚洲欧美视频一区| 麻豆精品视频| 亚洲清纯自拍| 亚洲国产精品一区二区第四页av| av不卡在线观看| 亚洲一区日韩在线| 国产精品入口| 老司机午夜免费精品视频 | 六十路精品视频| 久久香蕉国产线看观看av| 伊人久久成人| 91久久精品美女| 欧美午夜无遮挡| 尤物精品国产第一福利三区| 免费成人黄色| 亚洲小说欧美另类婷婷| 亚洲国产合集| 欧美激情va永久在线播放| 欧美大秀在线观看| 亚洲欧美一区二区三区极速播放| 久久久久久自在自线| 久久久精品五月天| 99在线精品视频| 欧美二区不卡| 一区二区三区国产在线| 久久亚洲精品一区二区| 亚洲九九九在线观看| 欧美成人中文字幕| 国产一区91| 在线视频欧美日韩| 最新日韩在线| 国产日韩精品在线| 亚洲国产婷婷香蕉久久久久久99 | 国产精品久久97| 亚洲国产综合在线| 9i看片成人免费高清| 影音先锋亚洲电影| 亚洲一品av免费观看| 亚洲国产免费| 欧美日韩免费一区| 亚洲免费视频在线观看| 免费高清在线一区| 久久精品72免费观看| 一区二区三区欧美日韩| 在线看片成人| 欧美激情综合色| 国产性做久久久久久| 亚洲人成久久| 亚洲激情视频| 久久综合导航| 六十路精品视频| 黄色国产精品| 久久精品九九| 久久久五月天| 激情亚洲网站| 亚洲国产精品久久久久秋霞影院 | 国产午夜精品一区理论片飘花| 亚洲精品资源美女情侣酒店| 91久久久久久国产精品| 久久综合一区| 免费欧美日韩| 一区二区三区在线视频播放 | 欧美一级视频精品观看| 国产伦精品一区二区三区视频黑人| 欧美激情小视频| 最新国产成人在线观看| 另类亚洲自拍| 欧美性猛交一区二区三区精品| 国产精品久久久久国产精品日日| 亚洲黄页一区| 日韩一本二本av| 欧美人与性动交α欧美精品济南到| 日韩一二三区视频| 欧美成人资源| 91久久中文| 宅男噜噜噜66一区二区66| 欧美日韩在线视频一区| 一区二区三区久久久| 亚洲欧美国产毛片在线| 欧美亚洲不卡| 亚洲欧洲av一区二区三区久久| 国产精品久久久对白| 亚洲欧美日韩第一区| 国内久久视频| 亚洲人成网站在线播| 日韩午夜中文字幕| 欧美日韩国产高清| 亚洲午夜一二三区视频| 欧美一区亚洲一区| 影音先锋另类| 欧美日韩一二区| 午夜视频一区在线观看| 欧美精品激情在线| 欧美日在线观看| 亚洲一区二区欧美日韩| 久久国产精品亚洲va麻豆| 狠狠色狠色综合曰曰| 欧美成人自拍| 亚洲欧美国产一区二区三区| 亚洲国产mv| 欧美日韩精品一区视频| 亚洲专区一区二区三区| 麻豆国产精品777777在线| 亚洲天堂免费观看| 精品成人乱色一区二区| 亚洲第一在线视频| 亚洲高清中文字幕| 亚洲欧美视频在线观看视频| 激情国产一区二区| 欧美日韩在线免费视频| 美日韩丰满少妇在线观看| 中国女人久久久| 男人的天堂亚洲| 亚洲天堂免费在线观看视频| 美日韩在线观看| 性做久久久久久久免费看| 亚洲国产一区二区三区a毛片| 国产精品久久久久久五月尺| 老司机午夜精品视频| 亚洲一区亚洲| 日韩写真在线| 一区二区欧美亚洲| 精品成人在线视频| 一区二区国产在线观看| 国产精品无码永久免费888| 欧美激情四色 | 在线看片日韩| 国产偷自视频区视频一区二区| 欧美日韩精选|