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


前言

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

问题记录


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

问题提示:

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

解决方法:

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

SVN上锁后无法上传文件

问题现象:



问题分析:

观察发现,出现问题的VI位于..512@Toolbar ConfigTest POP UPPOP UP Demo1Demo 1.vi
由于SVN的上锁机制导致不在上锁的电脑上无法进行解锁操作

问题解决:

上锁的文件上具有小锁的标志
  在上锁的目录上Check for modification
检查源码仓库中对代码的锁定
在需要解锁的文件上可以选择Release lock或者是Break lock
 

问题参考:

  1. SVN 的锁定与解锁
  2. 一直习惯于单枪匹马作战,因此使用 SVN 做版本控制时,就没有协同开发的概念,自然就用不到 SVN 的锁机制了。
  3. 现在在公司上班就不一样了,几个人做同一个项目,代码就有可能被被人修改。
  4. 这个项目初期就告诉他们,为了操作的简易性,项目成员修改一个文件时,不需要锁定文件。但是前提条件是,每个人负责一个独立的模块。
  5. 一直都很正常,直到昨天晚上,一个同事修改了我的模块的内容,并提交了……
  6. UPDATE 代码后,发现我的代码被 SVN 太过“聪明”地覆盖了,导致昨天写的许多代码段被覆盖,大杯具也 T_T
  7. 自此,我就要求项目成员把自己负责的模块下的所有文件加锁,其他任何人需要修改你的模块代码前,得先通知你,再强制锁定相应的模块。
  8. 当然,如果文件太多,或者一个文件经常需要由好几个人修改,你可能不希望将所有文件回锁,那么可以要求项目成员在修改这些模块之前加锁,防止其它成员同时修改并提交修改。
  9. 提交的时候,如果想要继续维持锁状态,要勾选上“保持锁定/keep lock(s)”的选项,否则提交后会自动释放锁。
  10. 如果你的工作目录丢失,重新 check out 之后你可能会发现,锁定者是自己但是无法获取锁,这时你需要使用“强制获取锁/steal lock(s)”来获取锁。
  11. 如果一个文件被别人锁定,而你一定要修改这个文件,那么先通知锁定人,再“强制获取锁/steal lock(s)”。
  12. EOF






原文地址:https://www.cnblogs.com/EltonLiang/p/6959293.html