Mercurial 保护壳折叠问题
这不是一个过去没有出现过的独特问题,但目前还没有一个解决方案对我有帮助。
我的案例 - 由 Perforce(由我公司的中央 SCM)团队维护的巨大存储库。现在他们改变了一些东西,所有单独的团队都管理自己的 SCM,并且仅使用主要的 perforce 进行定期更新(不要问我为什么 - 我对此没有发言权),
但是我的问题 - 我们为团队的项目迁移到 Mercurial。
它巨大 - 大约 300k 文件并且可跨平台编译。
我设置的 Mercurial 存储库在 Linux 上运行良好,但在 Windows 上我遇到大小写折叠错误,并且无法签出或克隆存储库。
我尝试了 https://www.mercurial-scm.org/wiki/CaseFolding
结果看起来像这个
hgfold 扩展 - 不起作用 - 它抛出一些未知的 python 异常,有人遇到了这个问题,扩展的维护者知道它,但没有立即修复。
不可能简单地重命名文件,我们的存储库将会损坏,我必须使用相同的文件名,并且在 Linux 中它运行良好并且正在使用。所以我不知道重命名是否是一个选项。
Perforce 处理得很好,但正如我所说,我在这里没有发言权。
那么这里还有其他出路吗? SVN 可以很好地处理案件折叠吗?任何帮助对我来说都非常有用。
This is not a unique problem that has not been there in the past, but none of the solutions have helped me yet.
My Case - A huge repository that was maintained by Perforce(by my company's central SCM) team. Now they change something, and all individual teams manage their own SCM and use the main perforce only for regular updates(Don't ask me why - i have no say in this)
however my problem - we moved to Mercurial for our team's projects.
Its huge - about 300k files and cross platform compilable.
The mercurial repo that i set up works well with Linux, but on windows i get the case folding error and not able to checkout or clone repos.
I tried the solutions from https://www.mercurial-scm.org/wiki/CaseFolding
and the result looks like this
hgfold extension - does not work - it throws some unknown python exception and someone faced this issue and the maintainer of the extension is aware of it but has no immediate fix.
It is not possible to simply rename the files, our repo will break, i have to live with the same file name, and in linux it works great and are being used. So i don't know if renaming is an option.
Perforce handles it well, but as i said i have no say here.
So is there any other way out here??
Can SVN handle casefoldings well?? Any help is of very use to me.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Mercurial书上有一章 区分大小写
问题在于,并没有真正有效的自动化方法来解决案例冲突。文件名通常在其他文件中引用,例如 Makefiles 或包含语句或在源中读取的配置文件。因此,任何自动解决此问题的方法都可能会破坏某些内容。
从以上章节的评论中可以得出一些提示:
您可以
在区分大小写的文件系统上使用它来查找大小写冲突的所有文件名。
There is a chapter in the Mercurial book chapter Case sensitivity
The problem is that there is not really a working automated way to resolve cases clashes. Filenames are often referenced in other files like Makefiles or include statements or config file reads in source. So any way to resolve this automatically is prone to break something.
From the comments on the above chapters a few tips:
and you could use
on a case sensitive filesystem to find all filenames that clash on case.