遇到这样的问题:需要把svn中一个文件名的某个(某些)字母大小写(如把Abc.sh改为abc.sh)修改一下。第一反应是这样一系列 *** 作:
但是,在第2步失败了。嗯?怎么会呢,然后svn st一下,结果:
很奇怪,既然原来文件已经提示我missing(!表示)了,那为啥不给我从svn库中restore呢?反复svn up,仍无效果。这跟我的认知不一样啊!!(之前,如果删除了文件或文件夹,svn up一下,立马restore回来)。难道rename和delete还不一样对待?
反复尝试、思量半天,终于得到解决:似乎svn是大小写不敏感的,虽svn st中提示?和!,但试图从库中取文件下来时,发现有一个 同名 文件,就不取了。所以,我把abc.sh删除,或改为其它名字(忽略大小写不重名),再svn up一下,取到!
所以,上面问题的正确做法应该是下面这样吧?
但是,但是,这仍然没能解决问题!!! svn提示:
其实还是svn不区分大小写的原因。归根结底,还是得先从库中删除,再添加。正确做法:
或者先保存一份文件 (以免误删了劳动成果)
你要改的服务器端存放整个版本库的文件夹的名字,还是版本库中某个文件夹的名字?如果是前者,你在服务器端直接改这个文件夹的名字,改完后客户端要做一次重定向(relocate);
如果是后者,你直接在客户端使用SVN自带的更名 *** 作(切记不是 *** 作系统的重命名 *** 作),然后提交就行了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)