svn:文件名大小写修改后的问题

svn:文件名大小写修改后的问题,第1张

遇到这样的问题:需要把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不区分大小写的原因。归根结底,还是得先从库中删除,再添加。正确做法:

或者先保存一份文件 (以免误删了劳动成果)

svn服务器架设在linux系统上,svn客户端在windows上,在update的时候可能会出现“Can't

open

file.

XXXX/tmp/text-base/XX.svn-base

系统找不到指定的文件”的错误。

这是由于Linux服务器上的目标文件中存在两个相同文件名的文件。因为linux系统的文件名区分大小写,windows系统不区分文件名的大小写,例如readme.txt和ReadMe.txt在戚州兄linux系统上是两个不同的文件,但是在windows下将是同一个文件,当从linux服务器更新到windows上时,就会出现上述问题。

解决办法:

代码如下

TortoiseSVN

-->

Repo-Browser

在d出的窗口中,选择其中重名的文件之一,右键,delete,Ok

.

Commit!

重新update一下。

有朋友说可以这样处理,但没测试过

解决方案

A)(推荐)

 高袭 1.

提交你工作副本中的改变到版本库

2.

使用版本库的浏览器立即重命名该文件的大写(小写)为小写(大写)

3.

更新你的工作副本

解决方案

B)

1.

使用TortoiseSVN子菜单中的重命名命令将UPPERcase重命名为UPPERcase_

格式

2.

提交迹拆该更改

3.

将UPPERcase_重命名为upperCASE格式

4.

提交该更改


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12274927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存