1

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リポジトリを個別にチェックアウトしようとしましたが、動作します:

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 サブレポを個別にチェックアウトすることは可能です
  2. 別のマシンhg updateでこのレポにアクセスすることは可能です
  3. 別のユーザーhg update同じマシン上のこのレポにアクセスする可能性があります
  4. Svn チェックアウトとサブレポとしてのチェックアウト (while hg update) は異なる変更セットを返します!

問題の根本をどこで検索できますか?

4

1 に答える 1

0

Subversion の出力でロシア語の文字に問題がありました。

私の環境について一言。私のマシンには、Ubuntu Linux 12.04 が搭載さLC_ALL=ru_RU.UTF-8れており、bash ユーザー プロファイルに含まれています。そのため、Subversion からのメッセージなどの一部のメッセージは、ローカル言語 (この場合はロシア語) に翻訳されました。おそらく、Mercurial はこのメッセージを解析し、英語以外の記号を予期していませんでした ( ASCII のみ? [A-Za-z0-9] のみ? ) 。

私のチームメイト(同じ問題を抱えていて、最終的に解決策を見つけた人)は、次の追加のエイリアスを作成することでこの問題を修正しましたsvn

#!/bin/bash
LC_ALL=C /usr/bin/svn $@

LC_ALL=bash のユーザープロファイルを作成するだけで十分かもしれません。

于 2015-12-30T10:50:34.460 に答える