此文记录工作中遇到的一些问题及解决方法,适合新手阅读,高手请略过。
1、checkout某个版本(Revision)的代码(不是checkout最新的)
步骤:选择 Repositories》选择项目》右击,然后选择check out working copy,如图。
点击展开Addition Options,再选择Revision》最后选择check Out。如图。
2、上传*.a文件
当项目中增加了一些不开源的代码时,通常会有一个*.a的文件。添加后,在Cornerstone中,会这个*.a文件名后有一个“?”问好,表示Unversioned。此时上传会导致其他小伙伴,checkOut后报错,因为*.a文件没有上传。正确地做法是,右击*.a文件,选择add to working copy ,然后*.a文件名后面的图标会变成绿色的”A”,此时选择需要上传的文件后再点Commit,其他人checkout就不会报错了。
-----------------------2018-04-23新增-----------------------
3、在SVN上创建分支。适用多人开发,或多个功能同时开发但是这些功能在不同版本上线。
步骤: 选择 Repositories》选择并找到你的项目》右击,选择Branch,然后在弹出的对话框里填写分支名字、分支地址(我这里选择跟主干同一个目录)、选择Revision(通常默认)。最后点创建。
4、合并分支代码到主干。(原理,合并分支的本地代码,到本地的主干代码,然后提交主干的代码)
合并前,先checkout主干的代码,然后把主干的代码合并到分支,先解决冲突。再把分支代码合并到主干,最后在主干提交代码到SVN。
代码合并方法:在WORKING COPIES 找到主干代码并选中,然后点Commit右边的Merge。在Merge from里点击输入框有点的“…”小按钮,并选择你的分支代码。最后点击Merge Changes,就可以合并了。(合并完成后,还是需要在主干代码提交合并后的代码到SVN)
5、本地代码增量合并到主干代码。
适用情景:举个栗子。个人分支开发了多个功能,但是发版本并不需要把所有功能都上线。此时只需指定版本的分支代码到主干。
步骤:
1)在WORKING COPIES 找到主干代码并选中,然后点击选择Merge,然后选择Advanced Merge。
2)然后是Compare和Against的选择。如图,有三个按钮。

Compare行的选项。按钮1选择Local Path,按钮2选择本地的分支源码。按钮3选择分支的代码版本。(按钮3,默认是Latest(HEAD))
Against行的选项。按钮1选择Local Path,按钮2选择本地的主干源码。按钮3可以选择默认,或
某个指定版本。
3)做完上面的操作后,可以在Change Preview里面看到分支和主干的源码差异。此时Merge Changes按钮也变成了可点状态。点击即可完成合并。(合并完成后,还是需要在主干代码提交合并后的代码到SVN)