繁体   English   中英

Mercurial:Windows和Linux之间的文件名中的非ascii字母问题

[英]Mercurial: Problem with non-ascii letters in filenames between Windows and Linux

我在samba服务器上有一个中央Hg存储库,还有两个工作副本,一个在Ubuntu上,另一个在Windows 7上。 一切正常,直到我错误地将一个带有俄文字母的文件添加到项目中。 我在Linux上做过。 Mercurial乐意接受它,在Linux中,一切仍然有效。 但是我发现我不能再将更改集拉到Windows了。 对于hg pull我得到了

pulling from ...
searching for changes
adding changesets
transaction abort!
rollback completed
abort: empty or missing revlog for figures/interfDðÁsign.svg

(该problematc文件名应为interfDеsign,用西里尔字母中它е')。我已经改名为Linux中的文件,提交和推送的变化,甚至可以看到这种变化如果我不hg in在Windows中。 但我不能拉它! 有没有办法纠正这个问题,并使存储库再次与Windows一起使用?

我找到了另一个解决方案,或者说是一个解决方案。 使用Convert扩展 ,可以重命名命名不佳的文件,即纠正很久以前完成的错误。 在这种特殊情况下它运作良好。 当然,应该注意的是,项目中命名错误的文件没有依赖关系,而且一些提交消息可能会变得毫无意义。

此方法的优点是其他人不必安装非标准扩展,只是为了能够检查具有非常错误文件名的旧变更集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM