引 言:一直以来我都认为,MS应该从开源项目中汲取有益的东西,开源项目也要向MS学习,而不是象网上每次提到.Net和Java就要打嘴仗一样,有些文人 相轻的意思。^……^我从工作以来很有幸的能够参与多个Java和.Net项目开发,时常在这两种技术之间比较思考,现在有机会和大家分享,说的不对的地 方,请大家多多指教。首先我准备谈谈SCM,个人认为在现在的大型软件开发中,团队合作是项目成功最重要的因素之一,尤其是使用.Net和Java这些强 大的面向对象的语言开发程序,必然会多次分层,基于组件的共享等等,所以SCM就更重要了。MS的VSS我想大家应该都用过,也知道VSS的优劣,我就不 多说了。(风传VSS不是MS自己开发的,记得有次我去过真正开发VSS的公司的网站,现在地址也忘记了。并且MS内部也不会使用VSS作为自己的SCM 工具,呵呵,不知道是不是真的?)在以后的系列文章里,我会讲解Subversion,CVS这些主流的开源项目SCM工具,并且会延伸到CI (Continues Integration,即继续集成)和BugTrace领域,毕竟只有版本控制系统对于一个大型软件的开发是远远不够的。在这个旅程中,我还会带大家领 略一下python(我的最爱。。。呵呵,不想试试吗?非常强大!)的旖旎风光,而且这一系列文章也会收录在我准备撰写的《Using Open Source Software to Implement Your .Net Applications》(中英双语版,呵呵。。。考察一下自己的英语)。首先来介绍一下Subversion,以下引自赛迪网-开放系统世界,作者:顾宏军
长久以来,在开源世界中,CVS(Concurrent Versions System)一直都是版本控制的首选。但是现在用户有了另一个选择,就是Subversion。Subversion是下一代版本控制系统,能替代 CVS,项目主页是http://subversion.tigris.org。
Subversion是一个自由、开放源码的版本控制系统。它是一个通用系统,可用来管理任何类型的文件, 其中包括程序源码。
它的初始目标很明确,实现绝大部分CVS的已有功能;充分考虑现有的CVS用户,在使用方式上模仿CVS,同时开发了一系列工具,使得基于CVS的项目能 够顺利迁移到Subversion上。和CVS相比,它有很多优点,例如目录版本控制、不可分割的提交、一致的数据处理方式和更有效率的分支与标记 等。。。
如果你使用过CVS就能体会到上文所说的Subversion好处了,比如目录版本控制,目录的改名等。对于Subversion的原子提交,我 想多说几句,大家可以想象,我们一般做一个修改,可能需要改动多个文件,尤其现在大家多对分层已经趋之若鹜了,除非你还在用着哪种什么东西都写在一起的语 言。(比如PB?呵呵,感觉好像是这样的东西。我现在正在作一个遗留系统的迁移到.Net上的工作,这个系统就是用类似PB的一种脚本语言 Panther,ui,逻辑和数据访问全在一个文件里面,我在代码里面还看到了80年代的注释。呵呵,很强吧?我们公司几个程序员可能是中国为数不多的懂 panther语言的人了。扯远了。。。)如果你的一次提交过程中,由于网路原因或者机器的硬件原因或者根本是你自己落下了一些文件没提交,在逻辑意义上 这次提交是不完整的,Subversion的原子提交能很好的解决这个问题,个人认为这也是对于CVS最大的改进了。怎么样,是不是有些想数据库的事务的 概念呢?动心了吧?ok,废话少说,let's go!(Follow me! Fire in the hole!^……^)
Subversion有两种运行方式,一种是基于Apache Http Server,另外一种是Subversion Standalone Server。下面我讲解的是基于Apache Http Server的Subversion,这样做几个好处:A.能使用WebDAV协议。B.能使用浏览器作为客户端工具浏览源码仓库。C.可以很容易的支持 到SSPI(Windows域认证)和LDAP(AD?),这些都是Apache本身就支持的。D.能得到比较完善的Apache安全认证系统,比如 SSL加密连接。
在正式安装配置Subversion之前我们先来作点准备工 作,由于我们以后会经常在命令行下执行命令,每次打开一个新的命令行窗口默认的当前目录都是C:/Documents and Settings/$UserName,这样在执行命令之前都要切换目录,很麻烦,所以我们先来解决这个问题。在“开始”-“运行”中输入 “regedit”,打开注册表。找到/HKEY_CLASSES_ROOT/Folder/shell,如果没有shell,可以在Folder下新建 一个名为shell的键,在shell下新建一个名为“命令行(Command Windows)”的键,在这个键之下再建一个新的名为“Command”的键,设置默认值为“cmd /K cd /d %L”。
完成后的效果如下:
这样当我们选中一个目录,在右键上下文菜单里面就多了一个“命 令行(Command Windows)”的选项,单击这个选项就可以打开一个命令行窗口并且快速切换到当前选中的目录。说些题外话,很多人提到MS就义愤填膺,可是有多少人真 正掌握MS的技术呢?比如这个小小的CMD命令,建议大家在命令行窗口中输入“cmd /?”,相信收获不少。前段时间在看候捷先生的《Word的排版艺术》,china-pub上很多留的书评都是不屑一顾,我不知道这些人是不是真的能把 WinWord作为自己的“写作平台”?以前我都是用DockBook作为写作的工具,现在才知道Word可以这样用,MS也不是一无是处呀。。。
注意:如果你使用WinXP作为 Subversion服务器,请打上SP1补丁,否则会导致错误的网络数据传输使Subversion的数据库不能正常使用。(我自己的Notebook 是WinXP SP2,工作良好,至于Win2K没有测试,我想应该不会有什么问题吧?)
安装Subversion:
1.到www.apache.org上下载apache http server,注意要下载2.0.X以上的版,否则不能和当前最新的Subversion工作。
2.到http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91上下载Subversion当前1.1.3版本的二进制安装文件,一般tigris.org并不提供二进制包,这些二进制包是有一些志愿者维护的,所以可能不是当前最新的版本。如果你想尝鲜使用Subversion的最新版,请下载源码自己编译。
3.安装apache http server
4.安装Subversion
5.检查$/apache group/apache2/modules下是不是已经有了mod_dav_svn.so和mod_authz_svn.so
6.检查$/apache group/apache2/modules下是不是已经有了libdb42.dll,如图:
7.搜索$/apache group/apache2/conf/httpd.conf配置文件中的#LoadModule dav_fs_module modules/mod_dav_fs.so,把前面的注释#去掉;并检查LoadModule配置节的末尾是不是有了LoadModule dav_svn_module modules/mod_dav_svn.so和LoadModule authz_svn_module modules/mod_authz_svn.so,如图:
注意,请先安装Apache,然后再安装Subversion,这样上述5,6,7步骤都可以免了,在安装Subversion过程中它会自动拷 贝相应文件到相应目录中,并且修改http.conf文件,然后重新启动apache服务使修改生效。但是我发现现在这个版本的Subversion安装 文件可能有个bug,apache的http.conf的配置文件中#LoadModule dav_fs_module modules/mod_dav_fs.so注释没有去掉,所以大家还是小心检查一下。如果你是先安装的Subversion,然后再安装的Apache 的,那么上述的步骤一个也不能漏,都需要自己手动完成。
配置Subversion:
1.在硬盘上建立源码库的根目录,例如E:/SVN
2.在E:/SVN之下建立一个新的目录,例如TestRepository作为我们的测试源码库
3.建立Subversion数据库,当前版本Subversion支持两种格式数据库,一种是FSFS,另外一种是BDB( Berkeley Database)。在命令行下输入svnadmin create --fs-type bdb TestRepository建立BDB格式的数据库(确保当前目录已经切换到E:/SVN/),在命令行下输入svnadmin create --fs-type fsfs TestRepository建立FSFS格式的数据库(确保当前目录已经切换到E:/SVN/)。建好数据库以后,到E:/SVN/ TestRepository下看看是不是多了很多目录和文件,可以研究一下这些文件,对理解Subversion有帮助,但是不要试图直接修改这些文 件!如图:
如果大家经常关注开源技术,就知道BDB是一个轻量级的关系数据库,可以作为一个轻巧的内置数据库,在很多开源项目下有很多应用,比如 CVSTrac。FSFS格式主要的特点是可以支持Subversion的数据库和Subversion服务器可以在不同的物理机器上,可以通过网络共享 (不知道是否支持NFS?),能很好的工作在MS Win98上,并且速度更快,但是由于FSFS是一种新的格式,稳定性可能没有BDB好。推荐大家使用BDB,毕竟BDB有很多年开发历史,比较稳定,而 且我觉得把Subversion的DB和服务器分开放置好像没有什么必要吧?(谁能告诉我这样做的好处?),大家也不会拿一台Win98作server 吧?^……^。不要试图在BDB的格式的数据库上使用网络共享,也不要使用网络磁盘映射,否则会导致无法预料的错误。
4.打开$/apache group/apache2/conf/httpd.conf配置文件,在文件的末尾加入以下语句,
<Location /svn>
DAV svn
SVNParentPath e:/SVN
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile passwd
#AuthzSVNAccessFile svnaccessfile
Require valid-user
</Location>
这里建立了一个虚拟目录http://yourServer/svn/,所有的Subversion源码仓库都在这个虚拟目录中,并且使用“passwd”文件中username/password(用户名/密码)列表访问http://yourServer/svn/。关于Subversion的安全配置是一个比较重要的部分,我会留到下次配置SSL加密连接再讲。
5.在命令行下切换到$/apache group/apache2,执行bin/htpasswd -c passwd <username>,这里<username>是你想要加入的用户名,比如doudou。执行这个命令成功以后就会在bin目 录下建立一个passwd文件,之后如果再加入新的用户和更改已有用户的密码,执行bin/htpasswd passwd <username>即可。如图:
注意一定要在$/apache group/apache2下执行,这样生成的passwd文件$/apache group/apache2根目录下,而不是在bin目录下,apache默认是在$/apache group/apache2根目录下寻找passwd文件,如果你在bin目录下执行了这个命令请把生成的passwd文件剪切到$/apache group/apache2根目录下。这一点也可以从Apache的log日志中看得出来,如图:
6.重启Apache服务
7.在浏览器地址栏中输入 http://YourServer/svn/TestRepository,输入用户名密码,ok。Subversion现在已经可以正常工作了。
8. 管理工具->服务,如果服务中没有apache服务,则要手动安装apache服务, 在命令行模式下手工进入apache安装目录下的bin目录,在>提示符后输入:apache -k install<回车>,则apache服务安装成功.
如果想卸载则在提示符后输入:apache -k uninstall<回车>
相关推荐
ESP32S3新手避坑:用IDF5.0驱动GT911触摸屏,我踩过的三个雷都给你填平了
本文详细解析了在ESP32S3开发板上使用IDF5.0驱动GT911触摸屏时常见的三大问题:软重启失效、状态寄存器读取异常和初始化参数差异。通过逻辑分析和硬件调试工具,提供了针对性的解决方案和优化建议,帮助开发者高效完成触摸屏驱动开发。
【subversion】svn服务端部署及帐密权限配置
专题:Linux应用服务配置 各类Linux软件安装配置 更多内容请点击 我的博客 查看,欢迎来访。 Subversion(SVN),是一个集中式项目版本管理工具。 可以记录每一次文件和目录的修改情况,以版本号存储,可以根据这个版本号进行还原; 不同的用户可以随时从服务器端更新修改的文件,达到在开发中的实时共享; 在线安装 参考官方教程安装: http://subversion.apac...
从平衡车到寻迹小车:IMU963RA九轴陀螺仪实战避坑与四元数融合指南
本文详细解析了IMU963RA九轴陀螺仪在机器人姿态控制中的应用,重点探讨了从六轴升级到九轴系统的技术路径及四元数融合算法。通过实战案例,揭示了如何利用地磁计补偿陀螺积分漂移,并提供硬件集成、传感器校准及算法实现的完整解决方案,有效将8小时漂移控制在2度以内。
为什么svn每次都要输入用户名和密码(以及切换svn账号)
问题描述 1,电脑svn以前是别人的账号,换成自己的是可以用的,但是每次提交下拉代码都需要输入账号密码很是麻烦 怎样解决 1,找到Subversion\auth下的文件删除,然后重新输入账号密码之后,保存即可解决该问题。 正常情况下是可以解决的 2,非正常情况就是你无法找到Subversion\auth文件 帮你找回 这下出来了 ...
博途 V16(TIA portal V16)安装教程
本文提供了西门子TIA Portal V16软件的完整安装指南。内容包括百度网盘下载链接(提取码kv69)、详细安装步骤(关闭安全保护、典型安装设置)、授权破解方法,以及PLCSIM仿真功能的使用说明。重点演示了S7-1200 PLC程序的仿真过程,解析了仿真界面各元素功能,包括状态指示灯(RUN/STOP/ERROR)、操作按钮(RUN/STOP/MRES)和网络接口状态等。通过图文并茂的方式,完整呈现了从软件安装到PLC程序仿真的全流程操作。
告别效率低谷:用ADS仿真手把手教你设计高回退Doherty功放(附1:2非对称案例)
本文详细解析了如何使用ADS仿真设计高回退Doherty功放,特别针对1:2非对称架构进行深入探讨。通过优化功率分配比、峰值管开启阈值等关键参数,显著提升功放在9dB回退点的效率至75%以上,适用于LTE等高PAPR信号场景。文章还提供了ADS仿真环境搭建、参数优化及工程化设计的实用技巧。
如何设置SVN服务器端的用户名和密码2
1、新建用户 2、添加新建用户在对应版本库的访问权限: Repositories(版本库)下找到对应的版本库, 右键-》properties(属性)
【25届数字IC秋招总结】面试经验6——经纬恒润
25届数字ic面试记录——经纬恒润
linux svn添加用户并赋权限
linux svn添加用户并赋权限
EB配置I2c - 实现与PF8200的读写操作
①,基于硬件实现IIC通信(硬件GPIO引脚配置为I2c复用引脚)②,基于软件模拟IO实现IIC通信(代码控制SDA和SCL两个IO引脚的电平来模拟IIC时序)本文章基于64pin的恩智浦S32K146型号的芯片作为主机,从机是NXP的供电芯片。在本次实验中,我们将以使用EB工具链来配置硬件IIC通信。1,EB配置2,代码编写3,测试验证话不多说,走你~写操作比较简单,只需要申明一个I2c配置结构体变量即可。
YOLO11涨点优化:创新多尺度卷积注意力(MSCA)模块,小目标检测神器!
MSCA模块通过创新的多尺度设计,在保持计算效率的同时显著提升小目标检测能力。实验证明,在YOLOv5/v8等模型上嵌入MSCA后,mAP提升超过2%,小目标检测精度提升近4%,且计算代价增加极小。注意力机制的未来发展方向动态核尺寸:根据输入特征自适应调整卷积核大小跨模态融合:结合RGB与深度/热力图等多模态信息自监督优化:利用对比学习预训练注意力模块尝试在你的YOLO模型中插入MSCA模块,欢迎在评论区分享你的涨点结果!参考文献。
Subversion安装配置教程
如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配套有动画教程。 本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。 本教程分为以下几个部门,不仅仅是快速入门,最后我们还
Vue3 - 强力解决前端下载二进制流pdf文件、下载成功后打开空白问题解决,或者获取PDF文件流,将blob对象转换成下载链接打开后一片空白(无论是否使用pdf插件下载,还是原生方法下载都完美解决)
vue3前端下载二进制流pdf文件,下载成功,打开空白问题解决,js下载PDF文件流,打开空白问题,VUE3 h5中的文件流下载和指定的url下载总结(解决下载后的pdf打开空白情况)pdfjs打开文件流空白,解决pdf文件流,预览全是空白页,pdf文件流,下载正常,但是预览全是空白页,前端JS获取PDF文件流,将blob对象转换成下载链接打开后一篇空白的问题,前端文件流下载后文件空白,前端下载文件流PDF文件显示空白 或 无法打开,在线预览PDF文件打不开白屏怎么办,前端axios请求二进制数据流转换生成
Subversion配置安装教程(一)
引言:一直以来我都认为,MS应该从开源项目中汲取有益的东西,开源项目也要向MS学习,而不是象网上每次提到.Net和Java就要打嘴仗一样,有些文人相轻的意思。^……^我从工作以来很有幸的能够参与多个Java和.Net项目开发,时常在这两种技术之间比较思考,现在有机会和大家分享,说的不对的地方,请大家多多指教。首先我准备谈谈SCM,个人认为在现在的大型软件开发中,团队合作是项目成功最重要的因素之一,
visio安装包
Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
Subversion配置安装教程(三)
今天来讲讲Subversion的SSL连接。如果没有SSL相关的基础知识,请先自行参阅相关资料。1.首先去http://hunter.campbus.com/ 下载包含openssl模块的apache包,将解压出来的mod_ssl.so 拷贝到Apache的安装路径下的modules目录下,openssl.exe拷贝到bin目录下,conf/ssl.conf拷贝到conf目录下。 2.打开
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
Subversion配置安装教程(二)
今天接着昨天的内容讲Subversion的安全配置。在上一讲中我们在Apache的httpd.conf文件里加入了这样一节: <Location /svn> DAV svn SVNParentPath e:\SVN AuthType Basic AuthName "Subversion repositories" AuthUserFile passwd ...
Subversion配置安装教程(三)
天来讲讲Subversion的SSL连接。如果没有SSL相关的基础知识,请先自行参阅相关资料。 首先去http://hunter.campbus.com/ 下载包含openssl模块的apache包,将解压出来的mod_ssl.so 拷贝到Apache的安装路径下的modules目录下,openssl.exe拷贝到bin目录下,conf/ssl.conf拷贝到conf目录下。
[ZT] WIN-Subversion配置安装教程
Subversion是一个自由、开放源码的版本控制系统。它是一个通用系统,可用来管理任何类型的文件, 其中包括程序源码。 它的初始目标很明确,实现绝大部分CVS的已有功能;充分考虑现有的CVS用户,在使用方式上模仿CVS,同时开发了一系列工具,使得基于CVS的项目能 够顺利迁移到Subversion上。和CVS相比,它有很多优点,例如目录版本控制、不可分割的提交、一致的数据处理方式
296



被折叠的 条评论
为什么被折叠?



