尝试结帐子代码时遇到问题hg更新

时间:2015-10-09 11:04:31

标签: svn mercurial subrepos

我有一个带有 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.

所以:

  1. 可以单独检查svn subrepo
  2. 我可以在另一台机器上hg update这个回购
  3. 其他用户可以hg update同一台机器上的这个回购
  4. Svn checkout和checkout as subrepo(而hg update)返回不同的变更集!
  5. 我在哪里可以搜索问题的根源?

1 个答案:

答案 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=就足够了。