环境描述
svn服务器:windows机器
编译服务器:ubuntu机器
导入svn之前,在ubuntu编译正常,make clean之后,
在ubuntu命令行svn import到svn服务器
再在ubuntu命令行svn co到ubuntu系统
编译的时候出现XXX未被定义
总结,svn永远不会和你代码逻辑产生关系,出现以上问题只会是上传的时候文件丢失或覆盖
在ubuntu下去针对未定义的变量做grep -nr 变量 .搜索,
在上传之前的工程和下载下来的工程里面搜索,你绝对能发现问题:传上去之前有,下载下来的没有
如果对应的文件在下载后也是存在的,那ls -l,看看文件大小,是否有变化,你就能发现问题所在
我的问题是windows对文件名大小写不能区分,linux系统中同一目录相同字母不同大小写的文件在传到svn服务器就出现先上传的文件被后上传的文件覆盖,windows会认为是同一个文件,我就死在这儿。
因为我用samba映射linux的工作目录到本地windows机器,其实我以前都没在windows下开发过,linux项目最好还是别扯到windows中来弄。
SVN on Windows实现文件名严格区分大小写,按如下描述处理svn服务器端
http://www.subversionary.org/howto/using-check-case-insensitive-py-on-windows
http://svn.haxx.se/users/archive-2005-10/0089.shtml
服务器端增加了脚本处理后,我用windows的TortoiseSVN去提交,也还是出现文件被覆盖问题
坚决不在windows下操作,一直用ubuntu命令行import、check out都能正常了,真蛋疼的问题。