一个经得起时间考验的人
svn
VisualSVN Server:实现在Windows平台上快速搭建Subversion服务器
七 11th
VisualSVN Server能够在Windows平台上安装和管理全功能的Subversion服务器。它整合了Subversion, Apache和一个图形化管理工具。提供了完全可视化的Subversion版本库创建,管理,人员管理的操作界面。
网方网址及下载地址:http://www.visualsvn.com/server/
VisualSVN Server破解版本下载: 更多 >
代码发布工具
七 7th
概述:
为解决代码发布过程中从VSS获取修改后的指定代码、对旧版代码进行备份以及减少基础类库变更麻烦(需要将生成的DLL文件复制到每个引用此基础类的工作的bin目录中)等问题,通过开发代码发布工具辅助代码发布人员完成以上工作提高代码发布的效率和准确性。
此工具提供的功能如下:
1.通过提供的代码路径从指定的VSS服务器中获取修改后的代码(最新版本、指定的版本);
在获取最新代码后,提示需要重新编译的工程;
检查对应代码的注释是否符合要求;
2.备份旧版代码和新版代码;
3.发布代码;
4.记录代码发布历史:发布单号、日期 更多 >
Subversion同步工具svnsync出错:Failed to get lock on destination repos
二 12th
在Subversion版本库同步工具:svnsync一文中提到了Subversion提供的同步工具svnsync,然而在使用svnsync同步两个版本库时经常出现如下的错误,并自动中断了同步操作:
Copied properties for revision 461.
svnsync: Server sent unexpected return value (502 Bad Gateway) in response to PR
OPFIND request for ‘/svn/!svn/vcc/default’
当再次运行 svnsync sync svn://localhost/jqueryjs 时,有可能出现“Failed to get lock on destination repos”的错误信息,使同步操作无法继续进行:
F:\Subversion>svnsync sync svn://localhost/jqueryjs
Failed to get lock on destination repos, currently held by ‘firehack:963c0909-45ad-644f-b383-7e35d445028f’
……
Failed to get lock on destination repos, currently held by ‘firehack:963c0909-45ad-644f-b383-7e35d445028f’
svnsync: Couldn’t get lock on destination repos after 10 attempts
解决办法:
删除SVN仓库修订号0 svn:sync-lock的保护.
svn propdel svn:sync-lock --revprop -r 0 http://some.domain.com/svn/projects
参考:
Subversion版本库同步工具:svnsync
二 12th
svnsync.exe是Subversion提供的一个用于同步版本库的工具,通过svnsync.exe同时可以达到备份SVN版本库的目的。
svnsync的使用方法如下:
1、svnsync init
初始化,建立目标库和源库之间的同步关系
命令格式 svnsync init 目标库URL 源库URL
2、svnsync sync
真正的同步
命令格式 svnsync sync 目标库URL
如果我们需要将jQuery的SVN版本库(http://jqueryjs.googlecode.com/svn/)复制到本机来
具体操作过程如下:
1、在本机上,创建目标库
F:\Subversion>svnadmin create jqueryjs
将目标库创建在F:\Subversion\jqueryjs目录中,修改F:\Subversion\jqueryjs\conf目录下的配置文件,具体方法参考:Subversion权限设置详解。
2、修改目标库的脚本pre-revprop-change
此时如果直接运行 svnsync init svn://localhost/jqueryjs http://jqueryjs.googlecode.com/svn 将提示创建pre-revprop-change的“钩子”
svnsync: Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
在hooks目录下新建 pre-revprop-change.bat 文件(Linux操作系统下为pre-revprop-change)文件的内容为:
exit 0;
3、初始化
F:\Subversion>svnsync init svn://localhost/jqueryjs http://jqueryjs.googlecode.com/svn
Authentication realm: <svn://localhost:3690> d3ec8b15-78a3-9d4a-9d49-382b8d00a3cd
Password for ‘Administrator’:
Authentication realm: <svn://localhost:3690> d3ec8b15-78a3-9d4a-9d49-382b8d00a3cd
Username: jquery //提示输入用户名
Password for ‘jquery’: ******** /提示输入密码
Copied properties for revision 0 (svn:sync-* properties skipped).
4、同步
F:\Subversion>svnsync sync svn://localhost/jqueryjs
Transmitting file data …………
Committed revision 1.
Copied properties for revision 1.
Transmitting file data .
Committed revision 2.
Copied properties for revision 2.
参考:
svnsync:Subversion备份版本库的好工具
【版本控制之路】版本库的备份
F:\Subversion>svnsync help
general usage: svnsync SUBCOMMAND DEST_URL [ARGS & OPTIONS ...]
Type ‘svnsync help <subcommand>’ for help on a specific subcommand.
Type ‘svnsync –version’ to see the program version and RA modules.
Available subcommands:
initialize (init)
synchronize (sync)
copy-revprops
help (?, h)
升级Subversion 1.5后Zend访问SVN出错
七 4th
因为SourceForge被电信屏蔽(SourceForge无法访问的解决办法)光是下载升级Subversion 1.5 及 TortoiseSVN 所需的文件就花了不少时间,在文章的最下方提供了相就的下载链接,大家使用迅雷下载吧。
升级后,Zend Studio访问SVN项目出现如下错误:
svn.exe add E:\MakeWeb\www.makeweb.com\v3\AC_RunActiveContent.js
svn: This client is too old to work with working copy ‘E:\MakeWeb\www.makeweb.com\v3′; please get a newer Subversion client
svn command finished execution
幸好这个问题我在之前也遇到过,解决的方法很简单:
第一个方法是把ZendStudio安装目录中的SVN客户端工具升级一下。
将CollabNet Subversion Server安装目录中的svn.exe及动态链接库文件复制到Zend Studio安装目录的SVN目录中(如:E:\Program Files\Zend\ZendStudio-5.5.1\bin\SourceControl\svn)
第二个方法是在ZendStudio首选项的“Source Control”标签中,将基本设置中的“Path to SVN”指向CollabNet Subversion Server安装目录中的svn.exe(如:E:\Program Files\CollabNet Subversion Server\svn.exe)
在Zend Studio中再次执行Subversion命令,正确完成:
E:\Program Files\Zend\ZendStudio-5.5.1\bin\SourceControl\svn\svn.exe commit E:\MakeWeb\www.makeweb.com\v3\include -F E:\Temp\jsvn58187.tmp –non-interactive
Adding E:\MakeWeb\www.makeweb.com\v3\include\AC_RunActiveContent.js
Transmitting file data .
Committed revision 43.
svn command finished execution
分享一下安装Subversion需要的软件
在微软skydrive中,通过以下地址访问:
所需软件的列表:http://cid-358ab75ae8d73bb3.skydrive.live.com/browse.aspx/Public/Subversion
直接下载:
CollabNetSubversion-server-1.5.zip服务器端
http://cid-358ab75ae8d73bb3.skydrive.live.com/self.aspx/Public/Subversion/CollabNetSubversion-server-1.5.zip
subversion-1.5.0.zip源代码
http://cid-358ab75ae8d73bb3.skydrive.live.com/self.aspx/Public/Subversion/subversion-1.5.0.zip
TortoiseSVN-1.5.0.13316-win32-svn-1.5.0.msi
http://cid-358ab75ae8d73bb3.skydrive.live.com/self.aspx/Public/Subversion/TortoiseSVN-1.5.0.13316-win32-svn-1.5.0.msi
TortoiseSVN简体中文语言包:LanguagePack|_1.5.0.13316-win32-zh|_CN.msi
http://cid-358ab75ae8d73bb3.skydrive.live.com/self.aspx/Public/Subversion/LanguagePack|_1.5.0.13316-win32-zh|_CN.msi
Zend Studio:版本控制SVN/CVS使用简介
一 11th
CVS与SubVersion有两个出色的开源的版本控制软件,Zend Studio 4只支持CVS, Zend Studio 5 加入SubVersion的支持,本文将以SubVersion与Zend Studio集成使用为例做说明。
Zend Studio默认使用CVS,可在“工具”->“首选项”->“source control”中选择Subversion即可。
配置Zend Studio客户端使用SVN:
打开“工具”->“SubVersion”->”checkout“,显示对话框
Module ULR 指要下载的源程序在源码库的位置,工作目录是下载到本机的程序存放位置,如果所填目录不存在,则程序自动创建。
用户名密码如果不需要的时候默认为空。
Subversion菜单命令说明:
Update : 将svn 源码库端文件同步到本地的工作拷贝。
Commit: 提交当前工作拷贝的更改。这个地方是有可能出现代码冲突的。最安全的解决方法,先update一下,再修改程序并Commit。
Add :将当前文件添加到版本控制库中。原来该版本不处于版本控制之下。比如新建立的一个程序或者文件。
Delete: 将当前文件从版本控制库中删除,脱离svn版本控制。
Revert : 取消当前文件的所有的本地编辑。并且解决所有的冲突状态。
Resove : 删除工作拷贝文件或目录的“冲突”状态。
Status: 查看当前工作拷贝文件和目录的状态。
Diff : 比较当前文件与源码库中相应文件的不同。
Log : 当前文件的所有修改记录,从创建开始的每一次修改都能显示出来。
注意:上面的命令也可以在Zend Studio 左侧的项目区域对多个文件或文件夹同时操作。
在修改完成之后,可以到程序运行服务器的项目目录下svn update一下,就可得到最新的程序。
Svn高级操作:
a. 解决冲突(合并别人的修改)
b. 分支与合并