svn tree confflect
同事提交了一些文件,我尝试更新那个目录, 却总是无法更新到他的提交, 一直都是工作空间的内容。而且资源管理器的目录图标显示, 出现变动(就是右上角有个红色的那种)。
难道同事没有提交成功吗? 检查svn log, 发现他确实是成功提交了的。。那就奇怪了!
我把那个目录备份,然后全部删除,再更新,还是有问题,我注意到里面内容 是自己的之前的那个提交的版本(不是svn log中能够查看到的版本。是我在IDEA move 后的版本。)。

搞了很久,搞不清怎么回事。管他三七二十一,尝试提交吧。 却总是提示 svn tree confflect 。。。 让同事备份了他的修改,然后我尝试删除,也无法删除。 clean up 了整个项目, 还是一样。
郁闷了, 我偶然看到了revert, 试了下, 却没报错, 然后update更新目录, 终于得到了 同事的最新提交!!
哦, 这什么情况? 我猜是 我在IDEA的操作引起的。 我在IDEA move 一个新文件(有一些和同事提交的文件重名。)进入那个目录后,其实哪些文件就已经 被add to svn 了, 也就是 加入了 svn 的tree。 虽然没有commit, 但是 它在我本地的svn 是有记录的, 影响到了 svn tree。 故 当同事提交了同名文件,然后我更新那个目录的时候, 就出现了tree conflict。。
---------------------------------------------------------------------------------------------------------------------------------------------------------
补充:
出现tree 冲突:

右键Edit conflicts:

出现:

其实 最上面的一行已经说明了 原因了, 出现这种情况就是因为, 我本地修改了某文件,但是没有提交,后面我更新了这个类,但是这个时候他已经被其他同事删除(而且提交)了。
怎么解决呢? 其实svn提供的选择不多, 一个是 Accept, 也就是 mark as resolved 但是接受当前工作空间拷贝的状态; 另外就是Resolve later,其实就是不解决,稍后处理。
(我发现Accept 之后, 文件的状态还是 Tree conflict, 但是右键直接“mark as resolved” 之后,状态变为 Resolved, 两者应该还是有区别; 还是不太懂 Accept 操作的真正含义)
之后再看这两个文件呢, 发现多了 + 的 图标,应该是状态变成了add,但是未提交:

如果右键 svn commit,则出现:

可见这两个文件已经不存在于 svn 远程仓库,但是本地依然被保留, 本地svn 是可感知的,是已经被add 追踪了的。
怎么解决呢? 很简单,直接删除吧。。
再次执行svn commit, 发现还是有的:

但是直接提交的话, 会提示 文件不存在: “ not added to the svn ... ” 这个有点奇怪,貌似本地已经added了,但是由于miss, 所以又是无法正常提交到远程, 我决定可以不用理会吧。。
参考:
https://stackoverflow.com/questions/738367/why-am-i-getting-tree-conflicts-in-subversion
svn tree confflect的更多相关文章
- SVN Tree Conflict 的分析
所谓Tree Confict,就是至少有一个人修改了目录结构,包括文件或者文件所在目录的改名.删除.移动.然后Update或Merge的时候就报了Tree Conflict. 介绍一下概念Delete ...
- svn tree conflicts 解决方法
svn resolve --accept working -R XXX. 其中XXX为提示冲突的目录.
- svn利用钩子post-commit自动更新到线上测试服务器(测试中未验证)
创建一个新的版本库: [root@centos03 svn]# pwd /home/svn [root@centos03 svn]# svnadmin create webtest [root@cen ...
- svn local obstruction, incoming add upon merge
http://little418.com/2009/05/svn-local-obstruction-incoming-add-upon-merge.html If you've found this ...
- 版本控制系统-SVN(1)
1. SVN介绍 1.1. 简介 SVN(subversion),版本管理工具,与CVS一样,SVN是一个可跨平台的开源版本控制系统,Subversion管理随时间变化的数据.这些数据都被放置在 ...
- SVN服务器搭建实录
第一章 SVN介绍 1.1 什么是SVN(subversion) SVN是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个固态的跨平台的开源的版本控制系统.SVN版本管理工具管 ...
- svn开发常用整理
1.删除tortoise svn中的账号信息 其实tortoise svn也是将账号信息存放在本地的配置文件中 在不同的操作系统下,操作基本类似,首先我们来看一下windows下如何操作的. 以win ...
- CentOS7集成Apache和SVN
本文主要介绍如何在CentOS7环境下集成Apache和SVN,完成后可以通过浏览器访问SVN仓库. 1.查看系统环境,关闭防火墙和SELinux. [root@Docker /]# systemct ...
- CentOS7 基于 subversion 配置 SVN server
由于 Window Server 环境下,VisualSVN Server Community 版本只支持 15 个同时在线用户,所以彻底放弃 Windows Server,在 Linux Serve ...
随机推荐
- vscode修改code runner插件默认使用的编译器
code runner的原理就是自动帮你完成在控制台中输入切换路径和编译源代码以及运行编译好的程序的指令 编译指令是根据配置文件中一开始写好的模板来执行的 不同语言对应一条指令,运行code runn ...
- 国外的开源项目Shopizer部署问题
版本:shopizer-2.2.0 项目地址:https://github.com/shopizer-ecommerce/shopizer 使用IDEA时遇到和修改的问题 1.修改数据库类型为MYSQ ...
- js页面滚动时层智能浮动定位实现
直接上代码 $.fn.smartFloat = function (className) { var position = function (element) { var top = element ...
- C/C++基础----随机数分布和随机数引擎
随机数分布 除了伯努利分布,其他都是模板,接收单个类型参数,指出分布生成的结果类型. 表示分布生成浮点数,float.double或long double 表示要求一个整型类型,不包括bool或任何c ...
- Lucene suggest [转]
The Big Data Zone is presented by Splunk, the maker of data analysis solutions such as Hunk, an an ...
- C/C++程序CPU问题分析
转载地址:http://www.10tiao.com/html/473/201606/2651473094/1.html 程序的CPU问题是另外一类典型的程序性能问题,很多开发人员都受到过程序CP ...
- vue-router配合vue-cli的实例
前面在说到vue-router的时候,都是用最简单的方式说明用法的,但是在实际项目中可能会有所出入,所以,今天就结合vue脚手架来展示项目中的vue-router的用法. 创建项目 首先需要使用脚手架 ...
- Tomcat Docker容器自动重启问题排查
1. 问题 前两天发现 APP 刷新数据偶尔出现等半天没有响应的情况,感觉不像 APP 的问题,就查了下服务端的日志. 服务端用的是 Java,部署采用的 Docker 官方的 tomcat 镜像,并 ...
- win server 2008 R2 支持
安装Microsoft Visual C++ 2010 可再发行组件包 (x64) vcredist_x64.exe 安装Microsoft .NET Framework 4 dotNetFx40_F ...
- Jmeter(三十七)源码导入IDE(转!)
转自:http://www.cnblogs.com/taoSir/p/5144274.html[eclipse] https://blog.csdn.net/collonn/article/de ...