本文主要是介绍结论不重要, 思路才重要------从linux中svn diff失效来谈谈.svn/text-base目录下的.svn-base文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先说说事情的来龙去脉吧!
由于需要, 我们要批量改动某目录下的打印log的接口, 简单来说, 要把某目录下的所有文件中的api_log_A改为api_log_B . 某同学有过做类似事情的经验, 并且成功了, 于是直接把命令给我, happy啊。
于是乎, 我执行了一下这个命令, 实现了批量替换, 我确认, 确实替换成功了, 但是, 准备提交前, 我用svn diff比较了一下, 居然没有任何差异, 我纳闷了。 为什么那位同学那样替换可以, 但我那样替换不行? 呵呵哒。
于是, 我重新恢复环境, 用手动改了一下某个文件(test.cpp), 用svn diff的时候, 发现是有差异的。 这就纳闷了, 为什么用命令批量修改就不行了呢?
我们以test.cpp文件为例, 发现如下测试事实:
1. 从零开始, 手动改test.cpp中的api_log_A为api_log_B, 用svn diff比较有差异
2. 从零开始, 用命令批量改动test.cpp中的api_log_A为api_log_B, 用svn diff比较, 没有差异。
3. 对比1和2中改动后的test.cpp, 发现完全一致。
尼玛, 邪门了。没辙了, 当时确实没有想到办法, 于是请教某哥, 于是展开思考, svn diff到底在干什么? 原理是什么?
这篇关于结论不重要, 思路才重要------从linux中svn diff失效来谈谈.svn/text-base目录下的.svn-base文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!