08 2011 档案
摘要:一产品和文件版本号 1)产品和文件版本号 产品和文件版本号用来标识产品或者产品中文件的版本。通常的在Windows上对于PE(DLL和EXE)文件我们可以在文件的右键的属性的版本下面看到文件的版本号和所在产品的版本信息。例如visual studio2008中vcbuild.exe的版本信息如下: 还有我们通常可以在软件的帮助下的关于对话框中看到产品的版本信息,例如Visual Stduio2008的如下: 2)文件或产品版本号规则 通常的文件或产品的版本号由 4个整数组成,形式如:AAAA.BBBB.CCCC.DDDD,例如VisualStuido2008的版本号9.0.30729...
阅读全文
摘要:build number, 也称为build id, 在build release的流程中唯一标示一个build,也是正式的产品的product version 和file version后两位(Major.minor.xxx.xxx)的来源,可以使用合适的方法将build number转化到product version和file version中。 build number可以为如下类型之一: 1)自增型,最简单的build number表示方式,例如1,2,3,4 。。。 2)week.day, 从软件的生命周期开始的周和天来表示,例如第五周星期二为5.2 3)date.ti...
阅读全文
摘要:一 WindowsDVD : 对安装文件以ISO的形式刻盘为CD/DVD发布。EF : 对安装文件压缩为自解压的exe,以web下载的方式发布。Suite : 将多个产品的打包,一般以DVD或U盘的方式发布。例如Microsoft Office的安装。Web Installer : 只是引导安装,真正安装的时候需要从网络下载。 例如IE的安装。Download manager : download manager用来在线安装多个功能相近的产品。 例如Windows Live Essentials的安装。VMWare installer: 安装在vmware中的试用版版,供用户测试使用。 Ins
阅读全文
摘要:一 branch branch即分支,在源码管理工具中创建branch其实是对source code进行一份新的copy。此新的copy在经过一段时间的开发后可以在适当的时候合并到原来的source code。 branch的主要作用是支持并行开发。 二 branch使用场合 1)当某个project发布后,我们需要开始新的版本的开发但是仍然需要对发布的产品提供fix,此时我们需要创建release branch,例如当产品发布后创建branch为release2012用来继续继续hotfix,sp1,sp2的开发。如果有需求为beta发布提 供fix,则需要创建单独的branch。 ...
阅读全文
摘要:本文主要讨论perforce的* perforce集中授权* perforce对分布式团队的支持* perforce的负载均衡和可扩展性* perforce高可用性和灾难恢复 一 perforce集中集中授权目前的情况是很多大的公司中,不同的部门有不同的p4server,就导致了公司内部多个p4server同时存在,作为p4server管理员就需要更多的精力来备份和恢复所有的server,管理所有的server的用户和权限。通常的情况是一个用户在多个p4server拥有账户,如果此用户离开公司,或需要修改名字,则需要在多个p4server上进行删除或修改。 最新2010.2以后的p4se..
阅读全文
摘要:1 p4 configure用来管理server的配置变量,且修改立即起作用,不需要重新启动server。 当我们创建新和运行新的p4server后,一般需要修改如下的配置:* 启动server进程的监视:p4 configure set monitor=1 or p4 configure set monitor=2;* 启动基于ticket的认证方式: p4 configure set security=3;* 阻止用户自己创建账号:p4 configure set dm.user.autocreate=2; 其他常用的选项:* 设置最低的client的版本:p4 congigure se.
阅读全文
摘要:Perforce是目前比较流行的集中式的源代码管理工具,在很多的欧美跨国公司被广泛的使用。他能够运行于Windows,Linux,Mac几乎所有的平台,支持客户端,命令行,IDE集成,操作系统shell,API等多种访问方式。而且他还能够很好地支持大型规模的软件公司的员工同时访问,能够很好地支持跨国的分布式团队的开发。对perforce server的管理也很方便。例如google就在使用perforce来管理源码。 一 Perforce 客户端入门* 客户端我们可以使用p4命令行,也可以使用基于UI的p4v,同时客户端还带有p4merge用来帮助用户执行diff和merge。* 客户端我..
阅读全文
摘要:一 perforce与SVN术语命令:二 perforce 与 clearcase术语:命令:参考: http://kb.perforce.com/article/301/subversion-vs-perforcehttp://kb.perforce.com/article/1070/mapping-cvs-terms-and-commands-to-perforcehttp://kb.perforce.com/article/1033/mapping-clearcase-terms-and-commands-to-perforce
阅读全文
摘要:一 perforce server的备份perforce server拥有checkpoint机制用来备份server的database。checkpoint,versioned files,journal(只从上次checkpoint后对server的操作)是恢复perforce server的所有的东西。我们每天晚上创建checkpoint,然后备份versioned files。以防万一我们需要保存几个checkpoints。下面是在Linux上备份perforce server的checkpoint和journal的脚本:#!/bin/bashBACKUP_DIR=/home/p4/b
阅读全文
摘要:默认地windows的安装文件perforce.exe可以将perforce或proxy安装为windows services,默认的services的名字分别为perforce和perforce proxy。但是对于在同一个windows系统上安装多个perforce或proxy的services的时候,我们需要使用svcinst.exe(可以在perforce server的安装目录下获得)来手动地完成services的安装。 一 安装第二个perforce server假设我们已经有一个perforce server安装在c:\perforce, 且以名字为perforce的servi.
阅读全文
摘要:转自:http://www.linuxidc.com/Linux/2008-04/12493p3.htmLinux 的内置firewall机制,是通过kernel中的netfilter模块实现的(www.netfilter.ort)。Linux kernel使用netfilter对进出的数据包进行过滤,netfilter由三个规则表组成,每个表又有许多内建的链组成。通过使用 iptables命令可以对这些表链进行操作,如添加、删除和列出规则等。 一、Netfilter规则表—filter nat mangle filter,用于路由网络数据包。是默认的,也就是说如果没有指定-t参数,...
阅读全文
摘要:一 service与一般的程序的区别service(也称为daemon)表示后台运行的程序,一般随系统的启动自动地启动且在用户logoff后仍然能够继续运行。该daemon进程一般在启动后需要与父进程断开关系,并使进程没有控制终端(tty)。因为daemon程序在后台执行,不需要于终端交互,通常就关闭STDIN、STDOUT和STDER。daemon无法输出信息,可以使用syslog或自己的日志系统进行日志处理。 可以使用/etc/rc.d/init.d/functions脚本中的daemon函数来将一般的程序启动为daemon,例如nfs daemon的启动:echo -n $"S
阅读全文
摘要:翻译自:http://www.thegeekstuff.com/2011/06/chkconfig-examples/ 注意:service的安装目录在/etc/rc.d/init.d下,/etc/init.d 是/etc/rc.d/init.d的链接。 chkconfig命令用来安装,查看或修改 services随系统启动的启动选项的设置。本文章包含了7个实例来解释如何使用chkconfig命令。 1 在shell脚本中检查service的启动选项的设置当你执行chkconfig加service名字,如果service被配置为自动启动,则它将返回true。下列的代码段显示了如何在脚本中检查一
阅读全文
摘要:perforce的Linux的安装一 安装前配置1) 机器配置修改机器名申请静态ip和dns上此ip到机器名的映射。2) 用户配置在root下创建用户组,用户和所在的home目录。创建perforce group : /usr/sbin/groupadd perforceg创建perforce user: mkdir /local mkdir /local/perforce /usr/sbin/useradd -m -d /local/perforce -g perforceg perforce修改perforce user的密码: /usr/bin/passwd perforce (输入12
阅读全文
摘要:perforce与分布式团队的开发一 perforce proxy和 perforce replicated serverperforce通过perforce proxy和perforce replicated servers来很好地支持分布式团队的开发。proxy和replicated servers可以根据情况单独地使用或混合使用。可以通过简单地增加新的proxy或replicated server来适应全球的新的用户的增加。perforce proxyperforce proxy的执行文件为p4p,是一个自维护的proxy server,他缓存远程的p4server的versioned
阅读全文
摘要:perforce提供了2中机制来让用户自定义或增强perforce的功能:trigger 和 daemon 。一 triggerstriggers 是用户定义的script,但是在某些特定的条件下由p4server自动调用来执行一定的功能。如果script返回0,表示成功,p4server的其他功能继续执行;如果script返回非0值,表示script执行失败,script的output将被作为error message返回为客户端。常见的trigger的作用:集成LDAP或AD用户认证方式,锁定branch,规范提交时的changelist的描述,跟新bug或task管理系统等。1)trig
阅读全文
摘要:perforce superuser任务1)server security levelsperforce支持的security level为0,1,2,3。可以通过命令p4 configure set security=seclevel来设置。level0:不需要密码。level1:所有的用户都必须有密码,且对于旧的客户端仍然可以使用弱密码。level2:所有的用户都必须使用强密码。level3:必须使用基于ticket的认证方式。2)user authentication(用户认证)perforce支持两种用户认证方式:基于password和基于ticket。password的认证方式是无状
阅读全文
摘要:perforce分支的锁定(Perforce branch locking)通常地在某些milestone的build的时候或者某些branch的生命周期结束了,我们都需要锁定branch来禁止对branch的修改。 可以通过如下的两种方法来锁定perforce branch:1)权限表(protection table)通常地我们使用一个group来管理一个branch的权限。例如默认地如下:write group envision * //dev/envision/esi/...当 我们需要锁定branch //dev/envision/esi/... 时,可以在p4admin的GUI管理
阅读全文
摘要:一 p4server上文件类型0) p4server的文件组成: 1)文件类型如下图: 2)depot目录及目录下的所有文件为developer真正提交的代码文件信息,我们成为versioned files ; (depot下文件为rcs格式,参考:http://durak.org/sean/pubs/software/cvsbook/RCS-Format.html) 例如如下changlist: 在depot下对应的文件为:versiontest.txt,v head1.75;access;symbols;locks;comment@@;1.75date2010.06.21.22.56...
阅读全文
摘要:一 使用p4admin.exe GUI工具来管理1) 创建用户2) 创建group通常地我们使用group来管理user对某个产品的访问权限,例如对于projectA,我们创建group projectA,将projectA的所有users加入到group projectA中。 通常地我们还有readonly和service groups来设置只读权限和后台运行的密码不过期的用户组。3) 权限管理通过权限管理表来管理用户或组的权限的分配,而且可以很直观地在右边预览到所分配的权限。 权限表中所有的字符需要区分大小写,且表的行有先后的顺序,后面的覆盖前面的。 二 权限的解释1)高等级的权限自动地包
阅读全文
摘要:一 p4server的管理 1)用p4d.exe来p4server的管理。2)也可以用p4的子命令admin在远程机器上执行一些p4server的管理,此时需要设置p4port,p4user等环境变量。3)使用UI的p4admin.exe来管理。 参考:http://www.perforce.com/perforce/doc.current/manuals/cmdref/admin.html http://www.perforce.com/perforce/doc.current/manuals/p4sag/index.html二 p4d.exe1)p4d.exe 注意:-jc : 创...
阅读全文
摘要:一 p4 server0)在官网上下载perforce.exe,然后安装,安装后默认地perforce以service的方式运行。1)p4server的可执行文件为p4d.exe (running as a server) or p4s.exe (running as a service)。2)p4管理员操作,需要p4 user为superuser,至少有admin权限。二 p4server的启动1)安装后perforce默认地已经以windows service的方式在运行了,可以在service控制面板中查看。也可以在service控制面板中对perforce service停止,启动和重
阅读全文
摘要:PDB Files: What Every Developer Must Knowhttp://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must-know.aspxPDB文件:每个开发人员都必须知道的一 什么是PDB文件大部分的开发人员应该都知道PDB文件是用来帮助软件的调试的。但是他究竟是如何工作的呢,我们可能并不熟悉。本文描述了PDB文件的存储和内容。同时还描 述了debugger如何找到binay相应的PDB文件,以及debugger如何找到与binay对
阅读全文
摘要:1 p4 delete p4中文件删除以后,以前的版本任然保留。可以在p4v中选择view->Filter deopt -> show deleted depot files来设置显示删除的文件。 p4从不真正删除文件。 2p4 label 和 branch区别 label相当于是个标记,只包含了文件名和版本信息; branch相当于是将原有的代码重新copy一份; label用来标记重要的源代码时刻,但是如果要某时刻的源代码copy出来继续开发,必须使用branch。 3changelist & label 区别 从上面的操作来看,label和changelist拥有相同
阅读全文
摘要:p4的分支创建和集成过程主要包含4个步骤: (1) 使用‘p4 branch’创建branch spec;(2)使用’p4 integrate‘来实现分支间的集成;(3)使用‘p4 resolve’来完成冲突的合并;(4)使用‘p4 submit’提交集成的结果。如下为在p4v中的操作。一 创建branch spec如下过程创建projectA的main与2012RTM的branch spec。操作为new branch mapping。二 创建新的分支如下过程创建2012RTM分支! 1) 在branch spec上右键 ->integrate using this branch ma
阅读全文
摘要:一 p4命令行 1)p4counter.batcallp4env.batREMcounterisonepersistantvariablewhichisstoragedinp4serverREMp4defaultcounterforlatestclp4counterchangeREMallp4countersp4countersREMneedsuperuserpermissionp4counterlastpassedcl25000pauseREMusecounterp4counterlastpassedclpauseREMdeletecounterp4counter-dlastpassedcl
阅读全文
摘要:一 P4(perforce)环境和sample project p4 环境: sample project: 二 P4命令行 1)p4env.batsetpath=C:\ProgramFiles\Perforce;%path%setP4Port=localhost:1666setp4user=AAAsetp4passwd=aaasetp4client=TestProject_AAAsetp4Root=//depot/TestProjectsetp4LocalRoot=c:\MyLocalTestProjectsetp4Drive=H:ifexist%p4Drive%(subst/d%p4...
阅读全文
摘要:以下的操作基于P4V。 1p4 refresh all 某些情况下某些修改不能实时地在p4v中跟新,此时可以使用p4v refresh all。 还可以在任意的item上右键中找到refresh相关的操作。例如本地目录下删除或增加文件,在p4v中不能的及时反映,这个时候可以在 workspace中的目录中右键中点击refresh相关选项。当然其他的changelist,client,depot等也都有相应的 refreash。 操作: view->refreash all 2 p4 rollback 用来将已经提交的修改撤销,或者恢复到某个之前的changelist。 如果是没有提交的修
阅读全文
摘要:以下的p4的基本操作是基于P4V,p4V是跨平台的p4 visual client。1) 登录和环境变量。server,等于环境变量P4PORT的值,表示p4 server的地址; user,等于环境变量P4USER的值,为p4的用户名,唯一标识一个用户;workspace,等于P4CLINT的值,表示server与本地的目录的对应。2) workspace, 也称为client spec,表示了server与本地的源码的目录对应关系。3) 增加新的文件,操作为workspace->在文件或文件夹上右键 -> mark for add4)删除文件,操作为depot-> 在文件
阅读全文
摘要:一 perforce(p4)perforce是集中式的商业的SCM软件。优点如下:1)被证明的SCM解决方案,全球超过5000家软件公司使用;2)无限制的可伸缩性,高性能的架构支持2到8000用户的使用;3)快速的SCM操作,perforce server和client通过高度定制的流消息协议传输;4)全功能的跨平台的基于QT的图形UI;5)支持分布式跨国的软件开发团队,perforce proxy使得跨国公司在全球的协作开发仍然高效;6)与常用的其他软件开发相关的软件的高度集成,例如visualstudio,Eclipse,office等;7)高效的perforce server的管理,可以
阅读全文
摘要:转自:http://www.cnblogs.com/andgame/archive/2010/10/17/1853733.htmlhttp://www.cnblogs.com/selfly/archive/2011/01/14/1935715.htmlLinux 安装SVN + Apache + 权限控制 一:相关版本subversion在安装的时候,要求相关软件的版本一致,而不是说软件版本最新就最好.下面是我安装的相关版本.httpd-2.2.3.tar.gzsubversion-deps-1.4.0.tar.gzsubversion-1.4.0.tar.gz 二:安装准备# mkdir .
阅读全文
摘要:一 SVN命令行简介1)命令行方式的SVN Server和Client下载: http://www.collab.net/downloads/subversion/2)设置path路径:set path="C:\Program Files\CollabNet\Subversion Server";%path%3)svn 的server 和 client相关的命令行主要包含:svn,svn子命令包含了所有的client操作;svnadmin,svnadmin用来管理SVN Server,其中Server最主要的一个操作就是创建repository命令svnadmin crea
阅读全文
摘要:TortoiseSVN的安装非常简单,安装后以windows shell的形式来使用。一 图标TortoiseSVN 重载了文件和文件夹的图标来更好的显示版本控制的状态。如下: :一个新检出的工作副本使用绿色的对勾做重载。表示 Subversion 状态正常。 :在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作副本后被修改过,需要被提交。:如果在更新的过程中出现了冲突,图标会变成黄色感叹号。 :如果你给一个文件设置了svn:needs-lock属性,Subversion 会让此文件只读,直到你获得文件锁。具有这个重
阅读全文
摘要:VisualSVN Server : 为SVN的server端程序;TortoiseSVN : 为SVN的client端程序;一 VisualSVN ServerVisualSVN Server是一个可视化的Windows版本的SVN Server。主页:http://www.visualsvn.com/server/。安装和配置很简单。步骤:1)安装2)安装 (可以修改repository的位置和选择是否使用security)3)创建用户 4)创建group5)创建Repository6)设置Repository的访问权限二 TortoiseSVN ClientTortoiseSVN 是免费
阅读全文
摘要:转自:http://roclinux.cn/?p=2129+ http://roclinux.cn/?p=2115 参考:http://www.nvie.com/posts/a-successful-git-branching-model/ 一张描述git数据迁移的示意图,很清晰,对于理解git的命令很有帮助,转发分享在这里: 1 GIT,在技术层面上,绝对是一个无中心的分布式版本控制系统,但在管理层面上,我建议你保持一个中心版本库。 2 我建议,一个中心版本库(我们叫它origin)至少包括两个分支,即“主分支(master)”和“开发分支(develop)” 3 要确保:团队成员从主分支(
阅读全文
摘要:一 分布式的源码管理工具Mercurialmercurial 作为3大主流的分布式源码管理工具,已经被广泛的使用。 例如 googlecode.com 和 codeplex.com 都支持mercurial作为源码管理工具。 主页:http://mercurial.selenic.com/ 更多的帮助:http://hgbook.red-bean.com/ 和 TortoiseHg.chm 超级超级好的ppt:http://www.slideshare.net/tednaleid/distributed-version-control-dvcs-with-mercurial windows下安
阅读全文
摘要:一 源码管理工具 源码管理(SCM/Source Code Management),也称为版本控制系统(VCS/Version Control System)。 1)为什么我们需要SCM/VCS 1. 备份和恢复:源码是软件公司的财富,备份和恢复用来防止意外的损失; 2. 同步:同一项目中多程序员间实现代码的共享和同步; 3. 短期的撤销:通常的如果某个开发人员的提交导致了break,则可以撤销导致break的提交; 4. 长期的撤销:如果某个BUG是很久以前的提交导致,则可以撤销到当时提交的版本来debug; 5. 跟踪改变:每次改变的提交都有注释,改变的历史会被保存,我们还可以看到提交的时
阅读全文
摘要:转自:http://www.infoq.com/cn/news/2011/07/ci-automatic-deployment在前文《依赖管理》中,我们讨论了如何在代码变得庞大,组件增多的情况下,做好外部库和内部组件依赖管理,从而提高构建效率。可以应用的实践包括:一次生成,多次复用;建立统一制品库,外部依赖库可以使用像Maven或Ivy这样的工具进行统一管理;对架构进行调整,使一个大的代码库分成多个组件;每个组件有自己的持续集成体系;对多个组件做持续集成。然而,解决一个问题后,总会有另一个问题等在那里,需要你来解决。这次Joe的团队遇到了部署问题。星期一早上,Alice一进办公室,就看到一脸倦
阅读全文
摘要:转自:http://www.infoq.com/cn/news/2011/05/ci-dependency-managementhttp://kb.cnblogs.com/page/101101/在前文《分支策略(续)》中,我们讨论了多组件应用程序的持续集成策略,即:为相对独立的组件创建自己专属的代码库,然后通过现代持续集成工具进行组件间的持续集成。Joe的团队在首次发布之后,开始使用这种方式。然而,没有多久,他们就遇到了一个问题:一次提交构建所花费的时间太长。 一天,Joe就早早地来到了办公室。因为他前一天下班前,他开发的用户故事还有一小点就完事儿了。他想利用早上这点儿时间把它搞完,交给测试
阅读全文
摘要:转自:http://www.infoq.com/cn/news/2011/03/ci-branch-strategyhttp://www.infoq.com/cn/news/2011/04/ci-branch-strategy-2http://kb.cnblogs.com/page/96915/http://kb.cnblogs.com/page/96916/持续集成之“分支策略”现代版本控制系统(SCM)的作用已不仅仅是保存历史版本,它还是各软件开发组织利用其分支功能实现多人并行开发,提高生产效率的一种工具。对于稍有历史的软件产品来说,一般都会有代码分支的出现,也常常见到一些历史悠久的产品其
阅读全文

浙公网安备 33010602011771号