SubversioncvsSQLite综合整理.docx
- 文档编号:30130599
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:28
- 大小:62.73KB
SubversioncvsSQLite综合整理.docx
《SubversioncvsSQLite综合整理.docx》由会员分享,可在线阅读,更多相关《SubversioncvsSQLite综合整理.docx(28页珍藏版)》请在冰豆网上搜索。
SubversioncvsSQLite综合整理
第一章Subversion1
一、与CVS对比1
1.使用情况2
2.客户端2
3.服务器3
二、在linux下安装配置svn独立服务器3
1.svn服务器安装3
2.svn配置4
3.启动svn7
三、Windows下svn客户端TortoiseSVN的安装和操作7
TortoiseSVN安装8
svn操作流程8
四、安装配置websvn,支持web方式浏览svn10
1.安装apache10
2.配置apache11
3.修改httpd.conf11
4.安装php12
5.安装websvn12
6.配置websvn12
第二章CVS14
第三章SQLite19
1.SQLite简介19
2.关于SQLite的特性.20
3、如何连接SQLite?
21
4、SQLite的管理23
第一章Subversion
subversion(简称svn)是近年来崛起的版本管理软件,是cvs的接班人。
目前,绝大多数开源软件都使用svn作为代码版本管理软件。
一、与CVS对比
在SVN之前,CVS是使用最广泛的版本管理软件。
SVN与CVS对比的优点如下:
*统一的版本号。
CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同。
而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。
所以,各文件在某任意时间的版本号是相同的。
版本号相同的文件构成软件的一个版本。
*原子提交。
一次提交不管是单个还是多个文件,都是作为一个整体提交的。
在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
*重命名、复制、删除文件等动作都保存在版本历史记录当中。
*对于二进制文件,使用了节省空间的保存方法。
(简单的理解,就是只保存和上一版本不同之处)
*目录也有版本历史。
整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。
*分支的开销非常小。
*优化过的数据库访问,使得一些操作不必访问数据库就可以做到。
这样减少了很多不必要的和数据库主机之间的网络流量。
1.使用情况
虽然在2006年时Subversion的使用族群仍然远少于传统的CVS,但已经有许多开放原码团体决定将CVS转换为Subversion。
已经转换使用Subversion的包括了FreeBSD、ApacheSoftwareFoundation、KDE、GNOME、GCC、Python、Samba、Mono以及许多团体。
许多开发团队换用Subversion是因为Trac、SourceForge、CollabNet、CodeBeamer等专案协同作业软件以及Eclipse、NetBeans等IDE提供Subversion的支援整合。
除此之外,一些自由软件开发的协作网如SourceF除了提供CVS外,现在也提供专案开发者使用Subversion作为原码管理系统,JavaForge、GoogleCode以及BountySource则以Subversion作为官方的原码管理系统。
2009年,绝大多数CVS服务已经改用SVN。
CVS已经停止维护。
2.客户端
Subversion的客户端有两类,一类是websvn等基于web的,一种是以TortoiseSVN为代表的客户端软件。
前者需要web服务器的支持,后者需要用户在本地安装客户端,两种都有免费开源软件供使用。
3.服务器
Subversion支持linux和windows,更多是安装在linux下。
svn服务器有2种运行方式:
独立服务器和借助apache。
2种方式各有利弊。
svn存储版本数据也有2种方式:
BDB和FSFS。
因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
二、在linux下安装配置svn独立服务器
subversion(以下简称svn)是近年来崛起的版本管理工具,是cvs的接班人。
svn服务器有2种运行方式:
独立服务器和借助apache。
2种方式各有利弊。
svn存储版本数据也有2种方式:
BDB和FSFS。
因为BDB方式在服务器中断时,有可能锁住数据(jijian91在搞LDAP时就深受其害,没法根治),所以还是FSFS方式更安全一点。
1.svn服务器安装
操作系统:
RedhatLinuxAS4
获取svn安装包
最新版本subversion可以在http:
//subversion.tigris.org/getting.html下载。
编译svn
以root用户登录。
将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器。
tarxfvzsubversion-1.4.0.tar.gz
tarxfvzsubversion-deps-1.4.0.tar.gz
cdsubversion-1.4.0
./configure–prefix=/opt/svn–without-berkeley-db–with-zlib
(注:
以svnserve方式运行,不加apache编译参数。
以fsfs格式存储版本库,不编译berkeley-db)
makeclean
make
makeinstall
vi/etc/profile,在/etc/profile最后加入:
PATH=$PATH:
/opt/svn/bin
exportPATH
svn测试
svnserve–version
如果显示如下,svn安装成功:
svnserve,version1.4.0(r21228)
compiledOct122006,10:
18:
56Copyright(C)2000-2006CollabNet.
Subversionisopensourcesoftware,seehttp:
//subversion.tigris.org/
ThisproductincludessoftwaredevelopedbyCollabNet(http:
//www.Collab.Net/).
Thefollowingrepositoryback-end(FS)modulesareavailable:
*fs_fs:
Moduleforworkingwithaplainfile(FSFS)repository.
2.svn配置
建立svn版本库目录
可建多个:
mkdir-p/opt/svndata/repos1
mkdir-p/opt/svndata/repos2
建立svn版本库
svnadmincreate/opt/svndata/repos1
svnadmincreate/opt/svndata/repos2
修改svn版本库配置文件
版本库1:
vi/opt/svndata/repos1/conf/svnserve.conf
内容修改为:
[general]
anon-access=none
auth-access=write
password-db=/opt/svn/conf/pwd.conf
authz-db=/opt/svn/conf/authz.conf
realm=repos1
版本库2:
vi/opt/svndata/repos2/conf/svnserve.conf
内容修改为:
[general]
anon-access=none
auth-access=write
password-db=/opt/svn/conf/pwd.conf
authz-db=/opt/svn/conf/authz.conf
realm=repos2
即除realm=repos2外,其他与版本库1配置文件完全相同。
如果有更多的版本库,依此类推。
配置允许访问的svn用户
vi/opt/svn/conf/pwd.conf
为了简化配置,2个版本库共用1个用户配置文件。
如有必要,也可以分开。
注意:
对用户配置文件的修改立即生效,不必重启svn。
文件格式如下:
[users]
<用户1>=<密码1>
<用户2>=<密码2>
其中,[users]是必须的。
下面列出要访问svn的用户,每个用户一行。
示例:
[users]
alan=password
king=hello
配置svn用户访问权限
vi/opt/svn/conf/authz.conf
为了简化配置,3个版本库共用1个权限配置文件/opt/svn/conf/pwd.conf。
如有必要,也可以分开。
文件中定义用户组和版本库目录权限。
注意:
*权限配置文件中出现的用户名必须已在用户配置文件中定义。
*对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
<用户组名>=<用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:
/项目/目录]
@<用户组名>=<权限>
<用户名>=<权限>
其中,方框号内部分可以有多种写法:
/,表示根目录及以下。
根目录是svnserve启动时指定的,我们指定为/opt/svndata。
这样,/就是表示对全部版本库设置权限。
repos1:
/,表示对版本库1设置权限
repos2:
/abc,,表示对版本库2中的abc项目设置权限
repos2:
/abc/aaa,,表示对版本库2中的abc项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
示例:
[groups]
admin=alan
[/]
@admin=rw
[repos1:
/abc/aaa]
king=rw
[repos2:
/pass]
king=
svn配置完毕,删除无用文件
rm/opt/svndata/repos1/conf/authz
rm/opt/svndata/repos1/conf/passwd
rm/opt/svndata/repos2/conf/authz
rm/opt/svndata/repos2/conf/passwd
3.启动svn
建立启动svn的用户
useraddsvn
passwdsvn
根据提示为用户svn设置密码
允许用户svn访问版本库
chown-Rsvn:
svn/opt/svndata
chown-Rsvn:
svn/opt/data
启动svn
su-svn-c“svnserve-d–listen-port9999-r/opt/svndata”
其中:
su-svn表示以用户svn的身份启动svn
-d表示以daemon方式(后台运行)运行
–listen-port9999表示使用9999端口,可以换成你需要的端口。
但注意,使用1024以下的端口需要root权限
-r/opt/svndata指定根目录是/opt/svndata
检查:
ps-ef|grepsvnserve
如果显示如下,即为启动成功:
svn 6941 1 015:
07?
00:
00:
00svnserve-d–listen-port9999-r/opt/svndata
通过web方式访问svn有很多方法,请参阅配置websvn或配置bsSvnBrowser的方法。
三、Windows下svn客户端TortoiseSVN的安装和操作
完成了svn服务器的安装配置,怎么使用svn呢?
在Windows下,最常用的svn客户端是TortoiseSVN,有时简称为TSVN。
TortoiseSVN安装
可以从http:
//tortoisesvn.tigris.org/下载最新版,目前最新版是TortoiseSVN-1.5.6.14908。
下载后,安装。
重启机器,使目录图标生效。
在资源管理器中,鼠标右键点击任意位置,右键菜单中出现“SVNCheckout”,即为安装成功。
svn操作流程
开发人员使用svn进行开发的一般流程是:
checkout(检出)项目
——>更新文件或目录——>update
——>修改文件或目录——commit(提交)变更
——>增加文件或目录——>add(增加)文件或目录——>commit(提交)
——>删除文件或目录——>commit(提交)上一级目录
其中,checkout只进行一次,update、commit、add操作根据需要会经常使用。
checkout(检出)操作
在资源管理器中,鼠标右键点击任意位置,在菜单中选择”SVNCheckout”。
出现对话框,在”URLofrepository:
”中输入svn串,格式是”协议:
//ip:
port/版本库/项目/目录“。
根据实际情况输入,例如
在“checkoutdirectory”中输入本地存放代码的目录,请选择空目录或新目录。
svn会清空该目录下的一切文件。
输入完毕,点击”ok”按钮。
如果需要,会提示输入用户名和密码。
选上”Saveauthentication”后,以后可以自动登录,不必重输密码。
checkout…有时候时间会很长。
结束,点”ok”。
update(更新)操作
在资源管理器中,选择本地目录或文件,鼠标右键菜单选择”SVNUpdate”。
会提示有无文件需要更新,点”ok”完成。
commit(提交)操作
把本地目录中变化了的文件或目录提交到版本库中,用commit操作。
增加新文件或目录,要先用add,再commit。
删除文件或目录,commit上一级目录。
在资源管理器中,选择本地目录或文件,鼠标右键菜单选择”SVNCommit”。
显示分上下2个框的界面。
在上框输入说明文字,建议写版本号或变更原因,以便将来查找。
下框列出提交的内容。
没有可提交的内容,下框中会显示一段说明文字。
点“ok”。
提交结束,显示结果。
点“ok”。
解决代码冲突
如果commit时出现“Youhavetoupdateyourworkcopyfirst.”红色警告,说明版本库中的此文件已经被其他人修改了。
请先点“ok”按钮退出。
执行update,然后再commit。
如果修改与update得到的代码不冲突,则自动合并。
如果冲突(比如对同一行代码进行了修改),则出现”Oneormorefilesareinaconflictedstate.“红色警告,并产生几个文件记录冲突。
一般情况下,我们不要直接编辑冲突文件。
而按照以下操作手工解决冲突。
在资源管理器中,选择commit时冲突的那个文件,鼠标右键菜单选择”Editconficts”。
出现界面,分为”Theirs”、”Mine”和”Merged”3部分,表示”别人修改的内容”、”我修改的内容”和”合并后的结果”3部分。
我们是要将”别人修改的内容”和”我修改的内容”有取舍地合并起来,形成”合并后的结果”。
合并一般分为4种情况:
∙保留”我的修改”,舍弃”别人的修改”。
鼠标右键点击Mine框的相应行,点击”Usethistextblock”。
∙舍弃”我的修改”,保留”别人的修改”。
鼠标右键点击Theirs框的相应行,点击”Usethistextblock”。
∙同时保留”我的修改”和”别人的修改”,并将”我的修改”放在前面。
鼠标右键点击Mine框的相应行,点击”Usetextblockfromminebeforetheirs”。
∙同时保留”我的修改”和”别人的修改”,并将”别人的修改”放在前面。
鼠标右键点击Mine框的相应行,点击”Usetextblockfromtheirsbeforemine”。
合并完成,Ctrl+S存盘,退出。
然后,在资源管理器中,选择冲突文件,鼠标右键菜单选择”Resolved”,标记冲突已解决。
系统会自动删除因冲突而新建的文件。
此时,就可以继续进行commit操作了。
add(增加)操作
增加新文件或目录,要先用add,再commit。
在资源管理器中,选择新增的目录或文件,鼠标右键菜单选择”Add”。
提示增加的文件。
点“ok”继续。
结束点“ok”。
删除操作
删除文件或目录,commit上一级目录。
四、安装配置websvn,支持web方式浏览svn
websvn是用php开发的,功能也是为svn提供web浏览功能。
安装配置方法如下:
1.安装apache
wget
tarxfvzhttpd-2.2.3.tar.gz
cdhttpd-2.2.3
./configure–prefix=/usr/local/apache2–enable-module=so–enable-module=setenvif–enable-module=rewrite–enable-rewrite=shared–enable-proxy=shared–with-mpm=prefork–enable-so–enable-auth-anon–enable-file-cache=shared–enable-cache=shared–enable-disk-cache=shared–enable-mem-cache=shared
makeclean
make
makeinstall
2.配置apache
增加用户apache
useraddapache
passwdapache
按照提示输入密码
3.修改httpd.conf
vi/usr/local/apache2/conf/httpd.conf
Userdaemon
Groupdaemon
改成
Userapache
Groupapache
OptionsIndexesFollowSymLinks
改成
Options-ExecCGI-IndexesFollowSymLinks
Orderallow,deny
Denyfromall
SatisfyAll
之后增加
Orderallow,deny
Denyfromall
SatisfyAll
Orderallow,deny
Denyfromall
SatisfyAll
AddTypeapplication/x-gzip.gz.tgz
之后增加
AddTypeapplication/x-httpd-php.php
AddTypeapplication/x-httpd-php-source.phps
DirectoryIndexindex.html
改成
DirectoryIndexindex.htmlindex.php
4.安装php
wget
tarxfvzphp-5.1.6.tar.gz
cdphp-5.1.6
./configure–prefix=/usr/local/php–with-apxs2=/usr/local/apache2/bin/apxs–enable-mbstring–enable-track-vars–enable-calendar–enable-trans-sid–with-gettext–enable-sysvmsg–enable-sockets–enable-bcmath–enable-wddx–disable-debug–with-dom=/usr/local
makeclean
make
makeinstall
cpphp.ini-recommended/usr/local/apache2/conf/php.ini
5.安装websvn
cd/usr/local/apache2/htdocs
mkdirwebsvn
cdwebsvn
wget-np-nH–cut-dirs=4-r-vhttp:
//guest:
@websvn.tigris.org/svn/websvn/tags/2.0rc4/
6.配置websvn
7.配置config.inc
cdinclude
cpdistconfig.incconfig.inc
viconfig.inc
编辑文件,使其只包含以下几项内容:
版本库,格式$config->addRepository(<显示名>,svn串,group,<用户名>,<密码>);
如$config->addRepository(”docs”,“svn:
//192.168.0.1:
1234/repos1/test”,NULL,“test”,“test1″);
svn串可以指定到任意目录,svn协议是通过svnserve访问版本库,所以受到svnserve用户和权限的限制,这样比较安全
指定的用户名和密码必须对目录有读权限,建议为websvn单独设置用户。
指定模版:
$config->setTemplatePath(”$locwebsvnreal/templates/BlueGrey/”);
指定字符集:
$config->setInputEncoding(”UTF-8″);
$config->setContentEncoding(”GB18030″);
指定语言:
include‘languages/schinese.inc’;
允许下载:
$config->allowDownload();
其他:
$config->setMinDownloadLevel
(2);
$config->setCachingOn();
$config->expandTabsBy(4);
8.修改websvn模版
由于中文和英文宽度的差异,需要做一些修改。
通过ftp,将/usr/local/apache2/htdocs/websvn/languages/schinese.inc下载到windows机器上。
将文件中的”查看记录”改成”查看”,再ftp回Linux机器。
vi/usr/local/apache2/htdocs/websvn/templates/BlueGrey/directory.tmp
修改或添加下图红色的部分(HTML贴上来总是报错,只能以图说明了):
9.运行websvn
/usr/local/apache2/bin/apachectlstart
用浏览器访问http:
//192.16
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SubversioncvsSQLite 综合 整理
![提示](https://static.bdocx.com/images/bang_tan.gif)