同事提交了一些文件,我尝试更新那个目录, 却总是无法更新到他的提交, 一直都是工作空间的内容。而且资源管理器的目录图标显示, 出现变动(就是右上角有个红色的那种)。

难道同事没有提交成功吗? 检查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的更多相关文章

  1. SVN Tree Conflict 的分析

    所谓Tree Confict,就是至少有一个人修改了目录结构,包括文件或者文件所在目录的改名.删除.移动.然后Update或Merge的时候就报了Tree Conflict. 介绍一下概念Delete ...

  2. svn tree conflicts 解决方法

    svn resolve --accept working -R XXX. 其中XXX为提示冲突的目录.

  3. svn利用钩子post-commit自动更新到线上测试服务器(测试中未验证)

    创建一个新的版本库: [root@centos03 svn]# pwd /home/svn [root@centos03 svn]# svnadmin create webtest [root@cen ...

  4. 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 ...

  5. 版本控制系统-SVN(1)

    1.   SVN介绍 1.1.  简介 SVN(subversion),版本管理工具,与CVS一样,SVN是一个可跨平台的开源版本控制系统,Subversion管理随时间变化的数据.这些数据都被放置在 ...

  6. SVN服务器搭建实录

    第一章  SVN介绍 1.1 什么是SVN(subversion) SVN是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个固态的跨平台的开源的版本控制系统.SVN版本管理工具管 ...

  7. svn开发常用整理

    1.删除tortoise svn中的账号信息 其实tortoise svn也是将账号信息存放在本地的配置文件中 在不同的操作系统下,操作基本类似,首先我们来看一下windows下如何操作的. 以win ...

  8. CentOS7集成Apache和SVN

    本文主要介绍如何在CentOS7环境下集成Apache和SVN,完成后可以通过浏览器访问SVN仓库. 1.查看系统环境,关闭防火墙和SELinux. [root@Docker /]# systemct ...

  9. CentOS7 基于 subversion 配置 SVN server

    由于 Window Server 环境下,VisualSVN Server Community 版本只支持 15 个同时在线用户,所以彻底放弃 Windows Server,在 Linux Serve ...

随机推荐

  1. HMM(隐马尔科夫模型)与分词、词性标注、命名实体识别

    转载自 http://www.cnblogs.com/skyme/p/4651331.html HMM(隐马尔可夫模型)是用来描述隐含未知参数的统计模型,举一个经典的例子:一个东京的朋友每天根据天气{ ...

  2. WPF Demo12 布局

    1 <Window x:Class="布局.DockPanel1" xmlns="http://schemas.microsoft.com/winfx/2006/x ...

  3. [蓝桥杯]ALGO-101.算法训练_图形显示

    问题描述 编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示行数): * * * * * * * * * * * * * * * 题目描述 代码如下: #include < ...

  4. LeetCode——9. Palindrome Number

    一.题目链接:https://leetcode.com/problems/palindrome-number/ 二.题目大意: 给定一个整数,判断它是否为一个回文数.(例如-12,它就不是一个回文数: ...

  5. 【JVM参数】Java启动时,显示class是从哪个Jar中加载的

    显示具体的Class是从哪个Jar文件加载 JVM参数: -verbose:class 启动后输出如下: [Opened D:\Program Files\Java\jdk1.8.0_131\jre\ ...

  6. 利用cbmakegen导出Code::blocks的Makefile

    首先到官网下载cbmakegen 官网地址:http://developer.berlios.de/projects/cbmakegen/ 也可通过我的百度网盘下载 [windows版本]地址:htt ...

  7. Mongodb条件查询Query的用法

    Query.All("name", "a", "b");//通过多个元素来匹配数组Query.And(Query.EQ("name ...

  8. 使用Selenium模拟浏览器抓取淘宝商品美食信息

    代码: import re from selenium import webdriver from selenium.webdriver.common.by import By from seleni ...

  9. WordPress更换主题空白问题

    刚才尝试着更换了一个主题,后来发现预览主页的时候是一片空白.查了很多资料,有说是index.php的权限问题,有说是插件问题,有说是UTL-8编码的问题,我都试过了,发现都不行,后来仔细研究了一下,发 ...

  10. 开启BBR加速

    在linux里用 wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh chmod +x b ...