`
oolala
  • 浏览: 100030 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
09c341db-7f05-3f2b-a572-9ee69a5d8a77
unix环境高级编程
浏览量:21735
社区版块
存档分类
最新评论

svn常见问题收集

阅读更多
   1  svn目录结构

       我们在一些著名开源项目的版本库中,通常可以看到 trunk, branches, tags 等三个目录。由于 SVN 固有的特点,目录在 SVN 中并没有特别的意义,但是这三个目录却在大多数开源项目中存在,这是因为这三个目录反映了软件开发的通常模式。

        trunk
       trunk 是主分支,是日常开发进行的地方。

        branches
       branches 是分支。一些阶段性的 release 版本,这些版本是可以继续进行开发和维护的,则放在 branches 目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发。

        tags
       tags 目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。

        要使用这样的结构,在建立项目版本库时,可首先建好项目文件夹,并在其中建立 trunk, branches, tags 三个空的子目录,再将项目文件夹连同这三个子目录一起导入版本库。这样在 trunk 中开始进行开发,当需要建立 branch 或 tag 时,使用 SVN 的 copy 操作进行。其中 tags目录需要只读,可以使用 SVN 中的 authz 文件控制该目录的访问权限为只读。

   

    2 SVN进行同步时出现的问题:
    Working copy not locked; this is probably a bug, please report
svn: Directory 'D:\workspace\myzjhk\WebRoot\WEB-INF\classes\org\.svn' containing working copy admin area is missing

解决方法:
删除org目录,然后再执行同步 - 更新操作。


   3 SVN错误:Attempted to lock an already-locked dir
   /*-------------------------------------------------------------------------*/
   出现这个问题后使用“清理”功能,如果还不行,就直接到上一级目录,再执行“清理”,然后再“更新”。

   有时候如果看到某个包里面的文件夹没有SVN的标志,直接用“Ctrl+Delete”手工删除,然后“清理”,最后“更新”或“提交”。
/*-------------------------------------------------------------------------*/
Subversion1.3.2,开启匿名访问的同时利用authz功能限制匿名访问,则会出现check out 时提示被LOCK的现象
/*-------------------------------------------------------------------------*/
有时候有的文件死活无法提交和更新,有lock字样的提示,可以这么解决:首先点击该文件,然后getLock,再选中stealLock,然后release lock即可


   4 错误信息
Malformed file   
svn: E:\svn\repository\conf\svnserve.conf:12: Option expected   
原因:

配置文件12行开头有空格


   5错误信息
Attempted to lock an already-locked dir   
svn: Working copy 'E:\integration\com.svn.practise' locked  

原因:

需要用svn cleanup上次关闭时的锁定



    6在eclipse里提交和更新文件是抱错。

Attempted to lock an already-locked dir
svn: Working copy 'F:\workspace\WebFrame\WebRoot\attach\prodrelation' locked

执行“清除”操作后,问题解决了。

很多操作,例如中断提交,都会进入这种工作拷贝的锁定状态。



    7因为这两天频出这个现象,现在基本不怕这个问题了
我是这样解决的:
1 三令五申项目的组员必须先同步,合并,再提交
2 操作后经常地在父目录使用clean up命令
3 解决了locked问题后,还出现不能更新的现象时,就删除目录下的所有文件,包括.svn,再重新check out服务器同目录一次
4 总之,操作要规范,要强调组员每天开工时,先在ECLIPSE里同步,下班时,要提交(提交前,先在文件夹的右菜单中,选择小组>清除),保证每个人的机子里在开工前都是最新版本

老实讲,因为版本冲突,提交冲突,更新失败等等问题,耽误了好些时间,但我知道主要还是自身操作不熟练不规范的问题。我相信,只要坚持,大家包括我的组员一定都会喜欢上这个小海龟的

    


   
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics