Mercurialエラー:ユーザー名を指定せずに中止


117

Windows XPでの問題(すべてのWinインストールで発生する可能性が高い)、初めてMercurialを使用したとき。わかりにくい場所で答えを見つけたので、自分で質問/答えを出しているので、他の人が私のように検索する必要はありません。

マシンで初めてMercurialを使用する。

新しいレポを追加:

c:\bla\>hg add

問題ない。

次に、コミットします:

c:\bla\hg commit

エラー:

中止:ユーザー名が指定されていません(「hg help config」を参照)


70
バージョン管理ユーティリティについての情報はどのようにされていない関連のプログラミング?
mipadi

5
@mipadi:キーボードの使用に関する情報がプログラミングに関連していないのと同じように。
ドラえもん

メキュリアルにとって2年以上経過し、この問題がまだ存在していることは、本当に目がくらんでいます。
Celeritas 2013年

Cygwinののろわれたファイルはどこですか?... ああ。リポジトリがクローンまたは初期化されている場合、(repo)/。hgにあります
luser droog

回答:


94

解決:

私のWindowsインストールでは、 Mercurial.ini伝搬されませんでした。また、ユーザーのメールを追加する必要があります。

Mercurial.iniMercurial実行可能インストールディレクトリ(C:\Program Files\Mercurial\Mercurial.ini私のマシン上)にあるデフォルトファイルを使用して、ユーザーのホームディレクトリ(C:\Documents and Settings\myNamewinXP上)にコピーします。

Windows 7のインストールでは、デフォルトの.iniはありませんC:\Users\myName。新しい.iniをで作成する必要があります。

次に、その.iniファイルを編集します。このエリアを見つけてください。ユーザー名にはメールセットが必要です。空白になります。ここにメール名を追加してください。

[ui]
; editor used to enter commit logs, etc.  Most text editors will work.
editor = notepad
username = userEmail@domain.com

これで問題が解決しました。


1
私はこのq / aを投稿して、将来の誰かがこのナゲットで時間を浪費する必要がないようにしたいと考えています。
Kevin Won、

4
実際、インストールディレクトリにもMercurial.iniファイルはありません。リポジトリhgrc.hgフォルダーに呼び出されたファイルに上記のテキストを追加すると、変更をコミットできます。
Phil Gan

2
インストールディレクトリにもMercurial.iniファイルはありません(Win 7 64ビット)。Mercurial.iniをC:\ Users \ Abbasに作成し、Kevinの[ui]スニペットをコピーして貼り付けたところ、とても魅力的でした。フィルのソリューションを試してみましたが、うまくいきました。
Abbas

質疑応答ありがとうございます。それを理解するのに私は何年もかかりました。ああ、Windowsでの開発の困難...
ウェス

Tortoise Hgを使用していますが、そのヒントも役立ちます。よろしくお願いします!
James Freitas

51

申し訳ありませんが、なぜこれを問題と呼ぶのですか?Mercurialはを表示するように求めhg help config、このヘルプテキストはユーザー名を追加する方法を明示的に示しています-私はそのヘルプテキストを書いたので知っています:-)

これをより明確にするために、エラーメッセージをどのように改善する必要がありますか?

編集: 2010年にこれを書いて以来hg help config、すべての構成設定のヘルプを含めることで、これを台無しにしてしまいました。したがって、ユーザー名を設定する方法の良い小さな例:

[ui]
username = Your Name <your@email.com>

ノイズで失われました(これを~/.hgrcに追加し、必要に応じてファイルを作成します)。これについて問題を公開しまし


1
説明をありがとう-人々が彼らが見つけた解決策で質問についてフォローアップするときを見るのはとてもうれしいです:-)しかし、のヘルプテキストにhg help configはWindowsの説明が含まれています。つまり、Mercurial.iniファイルの可能な場所がリストされています。場所の1つはC:\Program Files\Mercurial\Mercurial.ini(としてリストされている<install-dir>\Mercurial.ini)なので、そのファイルの設定が有効にならなかった理由がわかりません。
マーティンガイスラー、2010年

13
私にとっての大きな問題(およびこの質問に私を導いた原因)は、クイックスタートページでこれが言及されていないという事実でした:mercurial.selenic.com/quickstart/#。このページは、基本的なインストールとそれに続く指示に従うことは機能することを意味し、ヘルプテキストを読まないと機能しません。この時点で、すでに何かがおかしいと思っているので緊張しています
Nick Fortescue

7
@Martin Geisler:このhg help configテキストは、問題を解決するために何をする必要があるかを示しておらず、「Windowsの場合」セクションでパスがどこを指しているのか特に明確ではありません。どこ%USERPROFILE%%HOME%のポイント?次のインストールmercurial.iniが私のシステムのどこにも存在しないことは役に立たないと思います。
Phil Gan

8
侮辱するつもりはないので、これを建設的な試みと捉えてください。「hg help config」を実行すると、1260行のテキストに標準出力に出力される回答があるかもしれませんが、1260行のテキストは過剰であり、それがドキュメントははるかに優れています。
トニージャコーネ2012

4
@TonyGiaccone:2010年に戻るとhg help config、画面に表示されるテキストのみが印刷され、ユーザー名の設定がそのテキストの主な例であることを確認しました。それ以来、出力にすべての構成オプションのヘルプテキストを含めることで、それを台無しにしてきました:-(この問題を公開しました:mercurial.selenic.com/bts/issue3348
Martin Geisler

13

Windows XPでは、iniファイルが表示されません。コマンドを使用してリポジトリを作成した後hg init、名前のファイルを追加しましたhgrcフォルダ.hg

次の内容で:

[ui]  
editor = notepad  
username = zamboni@icemachine.com

1
言及hgrc.hgフォルダは参考になりました
Eが豊富な

9

WindowsやLinuxに関係なく、hgは有効な構成について「/.hg/hgrc」ファイルを探します。「hg help config」にあるように、そのファイルの最後に次の行を追加するだけです。

[ui]
username = YOUR NAME <EMAIL@HOST.COM>
verbose = true

保存して「hg commit -m 'test'」


4

TortoiseHgを使用している場合は、[UI]設定を簡単に追加できます

  1. 任意のフォルダーエクスプローラーで右クリックして、TortoiseHgメニューにアクセスします。

  2. フライアウトTortoiseHgメニューから[グローバル設定 ]を選択します

  3. インターフェイスから[ ファイル編集 ]をクリックします

  4. 最後に「UI」設定を追加

[ui]

ユーザー名= YourName

verbose = true

  1. 保存して完了です

3

これは、Windows XPで私にとって魅力的に機能したものです。

  1. C:\Program Files\Mercurial\hgrc.dMercurialを次の場所にインストールしたと仮定して、フォルダーに移動します。C:\Program Files\Mercurial\
  2. あなたは見るべきです Mercurial.RC、そこにファイルを。
  3. ファイルをにコピーします C:\Documents and Settings\ [USERNAME]\
  4. 名前Mercurial.RCを変更Mercurial.iniます。
  5. [ui]セクションを次のように編集します。

    [ui]

    ; コミットログなどの入力に使用されるエディター。ほとんどのテキストエディターが機能します。

    エディター=メモ帳

    verbose = True

    ユーザー名= userEmail@domain.com


Windows Server 2008および64ビットMercurial msiでも機能しますが、もちろんステップ3はc:\ users [username]です
Andrew Cowenhoven

「TortoiseHg 2.2 with Mercurial 2.0-x86 Windows」をインストールすると、Mercurial.RCファイルはC:\ Program Files \ TortoiseHg \ hgrc.d
urig

1

私も同じ問題を抱えていました。何を手伝ってくれたことは入れていた[ui]username = firstname lastnameの別々の行に~/.hgrcファイル。これら2つを1行に入れると機能せず、エラーが発生しました。


1

この問題はまだ存在しています。mercurial.iniファイルには、あなたがそれを置くに関係なく無視されます。

mercurial.iniインストール中にファイルは作成されません。Mercurialインストールディレクトリに作成しましたが、効果がありませんでした。私はそれをコピーし%USERPROFILE%、その後に%HOME%、どちらも1つの作品。

.hgrcHOMEディレクトリに置くことはうまくいきます。

ドキュメント( "hg help config")を修正する必要があります。


1

次のように.hgrcを構成します。

[ui]
username = your name <youremail@host.com>
verbose = True

注意!![ui]の部分は省略しないでください


0

ヘルプファイルに指定された構成ファイルへのパスが存在しないため、これは問題です。 Mercurial.iniこれは問題です。プログラムファイルディレクトリからUSERディレクトリにこれは、Windowsのインストーラーに起因する問題である可能性があります。

@Kevin Won:行を追加するのを忘れました:

verbose = True
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.