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 ...
随机推荐
- Ubuntu16.04系统重装***
首先准备一个Live CD,就是Ubuntu的安装盘. 备份原理就是将系统文件压缩打包.由于Linux系统所有都是文件,故,只需要将系统打包即可.当然,必须除了当前系统运行中的文件以及临时文件. 打包 ...
- linux找不到动态链接库 .so文件的解决方法
linux找不到动态链接库 .so文件的解决方法 如果使用自己手动生成的动态链接库.so文件,但是这个.so文件,没有加入库文件搜索路劲中,程序运行时可能会出现找不到动态链接库的情形. 可以通过ldd ...
- 引用 自动化测试基础篇--Selenium Python环境搭建
原文链接:https://www.cnblogs.com/sanzangTst/p/7452922.html 鸣谢参藏法师. 学习selenium python需要的工具: 1.浏览器 2.Pytho ...
- pandas 读mysql数据库(整个表或者表的指定列)
问题1:如何从数据库中读取整个表数据到DataFrame中? 首先,来看很容易想到的的办法 def read_table_by_name(self, table_name): "" ...
- vmware虚拟机三种网络模式的区别
首先安装了VMware,在其中安装了Ubuntu系统,正常启动之后开始考虑怎么才能够让主机和虚拟机实现网络互连并且由主机向虚拟机发送文件,通过在网上查阅相关资料,记录学习笔记如下. 学习参考资料: l ...
- [UE4]解决角色影子的问题
一.自己应该是不能看到第一人称模型的影子,只要将第一人称模型影子不投影的就可以了.Cast Shadow勾选去掉就不会有影子了. 二.在第一人称视角中,枪支也是不应该有投影的.在weanpon中新增2 ...
- [UE4]嵌套Canvas
- Laravel 5.5 FormRequest 自定义错误消息 postman调试时X-Requested-With设为XMLHttpRequest
Laravel 5.5 FormRequest 自定义错误消息 使用FormRequest进行表单验证,就不用让验证逻辑和控制器里面的逻辑都混在一起.但在使用的时候呢,发现json错误返回的数据,与我 ...
- 在线学习和在线凸优化(online learning and online convex optimization)—在线凸优化框架3
近年来,许多有效的在线学习算法的设计受到凸优化工具的影响. 此外,据观察,大多数先前提出的有效算法可以基于以下优雅模型联合分析: 凸集的定义: 一个向量 的Regret定义为: 如前所述,算法相对于竞 ...
- HTTP协议的简单解析
超文本传输协议(HTTP,HyperText Transfer Protocol)是用于从服务器传输超文本到本地浏览器的传输协议,是应用最为广泛的网络协议.B/S网络架构的核心是HTTP,掌握HTTP ...