使用TortoiseSVN碰到的几个问题(2)-冲突解决, 图标重载
8)解决冲突
冲突分为两种:文件冲突---当两名(或更多)开发人员修改了同一个文件中相邻或相同的行时就会发生文件冲突。下面的属性冲突应该也属于文件冲突。 树冲突---当一名开发人员移动、重命名、删除一个文件或文件夹,而另一名开发人员也对它们进行了移动、重命名、删除或者仅仅是修改时就会发生树冲突。
先看文件冲突
两个开发人员改变文件中相同的行时,就会发生文件冲突,Subversion会把解决冲突的任务留给开发人员。 一个文本文件中冲突的区域会标识如下:
<<<<<<< filename
your changes
=======
code merged from repository
>>>>>>> revision
而且对于每个发生冲突的文件,Subversion会生成三个额外的文件在相同的目录下:
文件名.扩展名.mine---这是你的文件,在你更新你的工作副本之前存在于你的的工作副本中——也就是说,没有冲突标志。这个文件除了你的最新修改外没有别的东西。
文件名.扩展名.r旧版本---这是在你更新你的工作副本之前的基础版本(BASE revision)文件。也就是说,它是在你做最后修改之前所检出的文件。
文件名.扩展名.r新版本---这个文件是当你更新你的工作副本时,你的 Subversion 客户端从服务器接收到的。这个文件对应于版本库中的最新版本。
你可以或者启动一个外部合并工具,冲突编辑器,使用TortoiseSVN→ Edit Conflicts菜单命令,或者使用任何文字编辑器来手动解决冲突。 你使用应该决定代码应该如何,做相应的修改然后保存文件。 使用像TortoiseMerge这样或其他比较流行的工具可能是比较容易的选择因为他们户籍重现三栏视图而不是冲突标记。 如果你使用文字编辑器那你就要搜索相关的冲突行。
然后,执行命令 TortoiseSVN → 已解决 并提交人的修改到版本库。需要注意的是已解决命令并不是真正的解决了冲突,它只是删除了文件 文件名.扩展名.mine 和 文件名.扩展名.r*,允许你提交修改。如果你的二进制文件有冲突,Subversion不会试图合并文件。本地文件保持不变(完全是你最后修改时的样子),但你会看到文件名.扩展名.r*文件。如果你要撤消你的修改,保留版本库中的版本,请使用SVN 还原(Revert)命令。如果你要保持你的版本覆盖版本库中的版本,使用已解决命令,然后提交你的版本。
你可以右击父文件夹,选择TortoiseSVN → 已解决...,使用“已解决”命令来解决多个文件。这个操作会出现一个对话框,列出文件夹下所有有冲突的文件,你可以选择将哪些标记成已解决。
属性冲突
当两名或更多的开发人员修改了某个文件的属性时就会发生属性冲突。属性作为文件的一部分,解决属性冲突只能由开发人员来完成。如果一个更改必须被另一个覆盖,那么就在 使用本地属性解决 和 使用远程属性解决 中选择一个。如果更改想要被合并,那就选择 手工编辑属性,选出所要的属性值然后标记为已解决。
树冲突
当一名开发人员移动、重命名、删除一个文件或文件夹,而另一名开发人员也对它们进行了移动、重命名、删除或者仅仅是修改时就会发生树冲突。有很多种不同的情形可以导致树冲突,而且不同的情形需要不同的步骤来解决冲突。书冲突的情形有很多种,最好还是看帮助文档来获得相应的知识,这里略过。
9)图标重载

TortoiseSVN 加入了被称为重载图标的功能重载了原始的文件图标。根据文件的 Subversion 状态的不同,重载的图标也不同。
一个新检出的工作副本使用绿色的对勾做重载。表示 Subversion 状态正常.
在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作副本后被修改过,需要被提交。
如果在更新的过程中出现了冲突,图标会变成黄色感叹号。
如果你给一个文件设置了svn:needs-lock属性,Subversion 会让此文件只读,直到你获得文件锁。具有这个重载图标的文件来表示你必须在编辑之前先得到锁。
如果你拥有了一个文件的锁,并且 Subversion 状态是正常,这个重载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。
这个图标表示当前文件夹下的某些文件或文件夹已经被调度从版本控制中删除,或是该文件夹下某个受版本控制的文件丢失了。
加号告诉你有一个文件或目录已经被调度加入版本控制。
横条告诉你有一个文件或目录被版本控制系统所忽略。这个图标重载是可选的
这个图标说明文件和目录未被版本控制,但是也没有被忽略。这个图标重载是可选的。
使用TortoiseSVN碰到的几个问题(2)-冲突解决, 图标重载的更多相关文章
- 使用TortoiseSVN碰到的几个问题(1)-导入,提交,更新
1)导入数据到版本库 第一种情况,使用Import导入命令的时候 不能选择包含哪些指定文件或目录, 导入的文件夹不能变成工作副本,(如果你在“工作副本”目录下执行导入命令是不起作用的.)必须通过签出操 ...
- TortoiseSVN的使用,以及冲突解决办法
接下来,试试用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突等. 添加文件 在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态, ...
- 解决win7 64位中 魔方与TortoiseSVN的冲突解决【2014-02-10】
原文地址:http://www.cnblogs.com/hbbbs/p/3542479.html 现象 启动后弹出SendRpt:Error的提示框,然后变成soap1.2 fault.关闭后,又会自 ...
- MFC枚举USB设备碰到的一个疑难,还没解决
代码如下: 打开USB Hub设备之后,返回句柄hHubDevice,然后使用EnumerateHubPorts来枚举Hub的端 口.疑问在代码的中文注释中. bool CUsbEnumHub::En ...
- 自学spring过程中碰到的问题list,一个一个解决
1.spring的基本原理 2.spring注解有哪几种方式 3.什么情况下适合用哪种注解 4.@autowired @Resource 等的区别 5.spring是怎么使用反射的 6.cjlibe ...
- TortoiseSVN 冲突解决详细步骤 (图)
冲突还是很好解决的,但我没有试过在IDE里边集成怎样.记得VSS在Visual Studio里边解决冲突就非常完美,冲突自动报告,自动弹出冲突解决窗口,让你处理该怎么合并两份版本.合并后自动签入com ...
- Windows Server 2008 R2 可能会碰到任务计划无法自动运行的解决办法
在做Windows Server 2008R2系统的计划任务时使用到了bat脚本,手动启动没问题,自动执行缺失败,代码:0x2. 将“操作”的“起始于”进行设置了bat脚本的目录即可.
- [SVN]TortoiseSVN报“500 Internal Server Error”错误的解决方法
背景:由于某种原因,本人重启了一下SVN服务的物理机,重启过后发现所有人访问SVN都报如下错误. 由于重启之前是没有做过任何改动,所以面对这个错误有点摸不着头脑,防火墙.网管.清缓存等方法都试过,还没 ...
- 数据库使用truncate清理非常多表时碰到外键约束时怎么高速解决
问题处理思路: 1. 先将数据库中涉及到外键约束的表置为无效状态 2.待清除全然部表数据后再将外键约束的表置为可用状态 详细实现脚本: declare begin for vv_sql in (SEL ...
随机推荐
- zoj 3314 CAPTCHA(纯模拟)
题目 有些人用深搜写的,当然我这弱弱的,只理解纯模拟... 纯模拟,第一次写了那么长的代码,我自己也是够坚韧不拔的,,,,必须留念啊!!! 注意,G包含C,E包含L,R包含P,(照图说O应该不包含C, ...
- golang实现高阶函数之map
package main import "fmt" func iMap(num []int, f func(a int) int) []int{ var r []int for _ ...
- Python模块 os.walk
Os.walk os.walk(top,topdown=True,onerror=None,followlinks=False) os.walk()是python中内置(built-in)的目录树生成 ...
- 《零压力学Python》 之 第四章知识点归纳
第四章(决策和循环)知识点归纳 if condition: indented_statements [ elif condition: Indented_statements] [else: Inde ...
- 【codeforces 776E】The Holmes Children
[题目链接]:http://codeforces.com/contest/776/problem/E [题意] f(n)是小于n的不同整数对(x,y)这里x+y==n且gcd(x,y)==1的个数; ...
- noip模拟赛 三部曲
分析:子树上操作,要用到线段树+dfs序,关键就是子树内k还要增加,这个就不是很好办.可以求出在根节点+0后每个点会加多少,记为d[i],如果要对点x进行A操作,实际上只需要对子树加k - d[i]再 ...
- [tsA1490][2013中国国家集训队第二次作业]osu![概率dp+线段树+矩阵乘法]
这样的题解只能舔题解了,,,qaq 清橙资料里有.. #include <iostream> #include <cstdio> #include <cstdlib> ...
- Servlet中使用RequestDispatcher调派请求--forware
顺便演示了MVC的作法,以后hello.view可以移交到jsp中处理. 而MODEL和CONTROL,VIEW就实现了分享. HelloModel.java: package cc.openhome ...
- 【ACM】NYOJ_288_Time_20130725
Time时间限制:1000 ms | 内存限制:65535 KB 难度:2描述 Digital clock use 4 digits to express time, each digit is ...
- [bzoj3192][JLOI2013]删除物品_树状数组_栈
删除物品 bzoj-3192 JLOI-2013 题目大意:给你n个物品,分成2堆.所有的物品有不同的优先级.我只可以将一堆中的堆顶移动到另一个堆的堆顶.而如果当前物品是全局所有物品中优先级最高的,我 ...