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

发布于 2024-12-02 07:19:00 字数 558 浏览 1 评论 0原文

我在 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

(问题文件名应该是 interfDesign,其中包含西里尔字母“е”。)我已经在 Linux 中重命名了该文件,提交并推送了更改,甚至可以看到此更改如果我在 Windows 中执行 hg in 。但我拉不动!有什么方法可以纠正这个问题并使存储库再次与 Windows 一起使用吗?

I have a central Hg repository on a samba server, and two working copies, one on a Ubuntu and one on a Windows 7 machine. Everything worked fine until I, by mistake, added to the project a file with a Russian letter in the name. I've done it in Linux. Mercurial has happily accepted it and in Linux everything still works. However I've discovered that I cannot pull changesets to Windows any longer. For hg pull I get

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

(The problematc filename should be interfDеsign, with Cyrillic 'е' in it.) I've renamed the file in Linux, committed and pushed the change, and can even see this change if I do hg in in Windows. But I cannot pull it! Is there any way to correct this problem and make the repository work with Windows again?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼藏柔 2024-12-09 07:19:00

我找到了另一种解决方案,或者更确切地说是一种解决方法。使用转换扩展,可以重命名命名不当的文件,即更正很久以前犯下的错误。在这种特殊情况下,它工作得很好。当然,应该小心的是,项目中不存在对命名错误的文件的依赖关系,而且一些提交消息可能变得毫无意义。

这种方法的优点是其他人不必仅仅为了能够签出文件名非常错误的旧变更集而安装非标准扩展。

I've found another solution, or rather a work around. With the Convert extension, it is possible to rename the poorly named file, i.e. to correct the mistake done long ago. In this particular case it worked fine. Of course, one should be careful that there are no dependencies on the badly named file in the project, and also some commit messages may get meaningless.

The advantage of this method is that other people don't have to install a non-standard extension for the mere sake of being able to check out an old changeset with a very wrong file name.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文