发布分支:发布操作可以将当前代码转移到分支目录,在此基础上进行清理和发布,使用的命令要操作服务器端仓库,首先建立起分支目录svn mkdir –m “create branches directory” svn://192.168.195.54/hello/branches再将代码拷贝到分支中去svn copy –m “create release branch for 1.0” svn://192.168.195.54/hello/trunk svn://192.168.195.54/hello/branches/RB-1.0。
继续在分支上进行开发有两种方法,一种是另开辟一个工作空间,将分支代码签出到其中,使用命令svn co svn://192.168.195.54/hello/branches/RB-1.0 rb1.0。另外一种方法是将工作拷贝转向发布分支,在项目目录hello下使用命令svn switch svn://192.168.195.54/hello/branches/RB-1.0,使当前工作目录更新为发布目录RB-1.0,当然可以使用svn switch切换到原来的主线开发环境。注意一旦完成切换,当前代码就自动更新为切换为目录的最新代码。同时注意切换命令支持子目录切换。
所有调整、测试完成后,我们可以对项目进行发布,创建一个发布最简单的方式就是把分支拷贝到tags下的一个新目录,这样就给发布分支建立新标签。首先使用svn mkdir –m “create tag directory” svn://192.168.195.54/hello/tags来创建标签目录,在讲当前分支打上标签拷贝到tags下,使用svn copy –m “tag release 1.0.0” svn://192.168.195.54/hello/branches/RB-1.0 svn://192.168.195.54/hello/tags/REL-1.0.1。
一种不常见的情况是,某客户A的程序版本是1.0.0,主线开发程序为1.0.4,但是客户A在使用中发现了BUG,而他不愿意等到1.0.5版本修正代码。这种情况下,我们可以将1.0.4版本的部分修改代码更新到1.0.0代码上,再交给客户。这一过程的操作是:新目录签出1.0.0版本代码,切换局部代码到最新库代码,重新打标签为A客户特定代码,签出A客户特定代码。
继续在分支上进行开发有两种方法,一种是另开辟一个工作空间,将分支代码签出到其中,使用命令svn co svn://192.168.195.54/hello/branches/RB-1.0 rb1.0。另外一种方法是将工作拷贝转向发布分支,在项目目录hello下使用命令svn switch svn://192.168.195.54/hello/branches/RB-1.0,使当前工作目录更新为发布目录RB-1.0,当然可以使用svn switch切换到原来的主线开发环境。注意一旦完成切换,当前代码就自动更新为切换为目录的最新代码。同时注意切换命令支持子目录切换。
所有调整、测试完成后,我们可以对项目进行发布,创建一个发布最简单的方式就是把分支拷贝到tags下的一个新目录,这样就给发布分支建立新标签。首先使用svn mkdir –m “create tag directory” svn://192.168.195.54/hello/tags来创建标签目录,在讲当前分支打上标签拷贝到tags下,使用svn copy –m “tag release 1.0.0” svn://192.168.195.54/hello/branches/RB-1.0 svn://192.168.195.54/hello/tags/REL-1.0.1。
一种不常见的情况是,某客户A的程序版本是1.0.0,主线开发程序为1.0.4,但是客户A在使用中发现了BUG,而他不愿意等到1.0.5版本修正代码。这种情况下,我们可以将1.0.4版本的部分修改代码更新到1.0.0代码上,再交给客户。这一过程的操作是:新目录签出1.0.0版本代码,切换局部代码到最新库代码,重新打标签为A客户特定代码,签出A客户特定代码。