您的位置:首页 > 编程语言

[SVN技巧]代码提交中遇到的两个问题及其解决方案

2017-06-07 22:00 323 查看

前言

SVN在使用的过程中会遇到各种各样的问题,小黑在最近的使用中,遇到如下的两个问题,这里贴出来供大家参考

问题记录

SVN在源码仓库中不存在,导致无法删除和上传

问题提示:

Working copy path 'SubVIs/ControlMake.vi' does not exist in repository

解决方法:

右键,打开SVN的浏览器,在浏览器中删除该文件夹下的所有东西,然后重新上传一次

SVN上锁后无法上传文件

问题现象:







问题分析:

观察发现,出现问题的VI位于..\0512@Toolbar Config\Test POP UP\POP UP Demo1\Demo 1.vi由于SVN的上锁机制导致不在上锁的电脑上无法进行解锁操作

问题解决:

上锁的文件上具有小锁的标志

在上锁的目录上Check for modification

检查源码仓库中对代码的锁定

在需要解锁的文件上可以选择Release lock或者是Break lock


问题参考:

SVN 的锁定与解锁


一直习惯于单枪匹马作战,因此使用 SVN 做版本控制时,就没有协同开发的概念,自然就用不到 SVN 的锁机制了。


现在在公司上班就不一样了,几个人做同一个项目,代码就有可能被被人修改。


这个项目初期就告诉他们,为了操作的简易性,项目成员修改一个文件时,不需要锁定文件。但是前提条件是,每个人负责一个独立的模块。


一直都很正常,直到昨天晚上,一个同事修改了我的模块的内容,并提交了……


我 UPDATE 代码后,发现我的代码被 SVN 太过“聪明”地覆盖了,导致昨天写的许多代码段被覆盖,大杯具也 T_T


自此,我就要求项目成员把自己负责的模块下的所有文件加锁,其他任何人需要修改你的模块代码前,得先通知你,再强制锁定相应的模块。


当然,如果文件太多,或者一个文件经常需要由好几个人修改,你可能不希望将所有文件回锁,那么可以要求项目成员在修改这些模块之前加锁,防止其它成员同时修改并提交修改。


提交的时候,如果想要继续维持锁状态,要勾选上“保持锁定/keep lock(s)”的选项,否则提交后会自动释放锁。


如果你的工作目录丢失,重新 check out 之后你可能会发现,锁定者是自己但是无法获取锁,这时你需要使用“强制获取锁/steal lock(s)”来获取锁。


如果一个文件被别人锁定,而你一定要修改这个文件,那么先通知锁定人,再“强制获取锁/steal lock(s)”。


— EOF —

[/code]

null
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: