尝试签出 subrepo 时 hg update 出现问题
Trouble with hg update when trying to checkout subrepo
我有一个 hg 存储库 和 svn 子存储库。
我已经成功地将它克隆到某台机器上并提取了最新的修订版。然后我尝试将工作目录更新为修订版:
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.
('Получена ревизия' 在俄语中的意思是 'Checked out revision') 因为什么而中止?修订已成功签出!所以由于某些未知原因我无法更新。
我也尝试单独检查 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.
所以:
- 可以单独检查 svn subrepo
- 我可以在另一台机器
上hg update
这个repo
- 其他用户可以在同一台机器上
hg update
这个仓库
- Svn checkout 和 checkout as subrepo(而
hg update
)returns 不同的变更集!
在哪里可以找到问题的根源?
问题出在 Subversion 输出中的俄文字母中。
关于我的环境的几句话。我的机器上有一个 Ubuntu Linux 12.04,在我的 bash 用户配置文件中有 LC_ALL=ru_RU.UTF-8
。所以一些消息,比如来自 Subversion 的消息被翻译成当地语言,在本例中是俄语。我猜,Mercurial 解析了这条消息,它没有预料到一些非英文符号(only ASCII?only [A-Za-z0-9]?)
我的team-mate(遇到了同样的问题并最终找到了解决方案)已经通过为svn
创建额外的别名解决了这个问题:
#!/bin/bash
LC_ALL=C /usr/bin/svn $@
也许在 bash 用户配置文件中制作 LC_ALL=
就足够了。
我有一个 hg 存储库 和 svn 子存储库。
我已经成功地将它克隆到某台机器上并提取了最新的修订版。然后我尝试将工作目录更新为修订版:
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.
('Получена ревизия' 在俄语中的意思是 'Checked out revision') 因为什么而中止?修订已成功签出!所以由于某些未知原因我无法更新。
我也尝试单独检查 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.
所以:
- 可以单独检查 svn subrepo
- 我可以在另一台机器 上
- 其他用户可以在同一台机器上
hg update
这个仓库 - Svn checkout 和 checkout as subrepo(而
hg update
)returns 不同的变更集!
hg update
这个repo
在哪里可以找到问题的根源?
问题出在 Subversion 输出中的俄文字母中。
关于我的环境的几句话。我的机器上有一个 Ubuntu Linux 12.04,在我的 bash 用户配置文件中有 LC_ALL=ru_RU.UTF-8
。所以一些消息,比如来自 Subversion 的消息被翻译成当地语言,在本例中是俄语。我猜,Mercurial 解析了这条消息,它没有预料到一些非英文符号(only ASCII?only [A-Za-z0-9]?)
我的team-mate(遇到了同样的问题并最终找到了解决方案)已经通过为svn
创建额外的别名解决了这个问题:
#!/bin/bash
LC_ALL=C /usr/bin/svn $@
也许在 bash 用户配置文件中制作 LC_ALL=
就足够了。