我有一个带有 svn subrepo 的 hg存储库。
我已成功将其克隆到某台机器并进行了最新修订。然后我正在尝试将工作目录更新为修订版:
bwh1te@dev-machine:~/work/project_name$ hg pull
http authorization required
realm: HG Repository
user: bwh1te
password:
pulling from https://hg.some-company.com/project_name
searching for changes
no changes found
bwh1te@dev-machine:~/work/project_name$ hg update -C RELEASE-2_50
abort: Получена ревизия 28463.
('Полученаревизия'的意思是'用俄语检查出版')因为什么而中止?修订已成功检出!因为某些未知原因我无法更新。
我也试图单独检查svn repo并且它有效:
bwh1te@dev-machine:~/somestuff/subrepo$ svn co svn+ssh://svn.some-company.com/.../trunk
A trunk/dev
A trunk/dev/main.cfg.xml
...
U trunk
Checked out revision 28549.
所以:
hg update
这个回购 hg update
同一台机器上的这个回购hg update
)返回不同的变更集!我在哪里可以搜索问题的根源?
答案 0 :(得分:0)
Subversion输出中的俄语字母出现问题。
关于我的环境的几句话。我的机器上有一个Ubuntu Linux 12.04,我的bash用户配置文件中有LC_ALL=ru_RU.UTF-8
。所以一些消息,比如来自Subversion的消息被翻译成本地语言,在这种情况下是俄语。我想,Mercurial会解析这些消息,并没有想到一些不是英文符号(只有ASCII?只有[A-Za-z0-9]?)
我的队友(遇到同样的问题并最终找到解决方案)通过为svn
创建其他别名来解决此问题:
#!/bin/bash
LC_ALL=C /usr/bin/svn $@
仅仅在bash用户个人资料中制作LC_ALL=
就足够了。