私はPowerShellでMercurialのいくつかのものを自動化しようとしています。Powershellのhgを文字列の引数で呼び出す
これは、Mercurial自体ではなく「hg.exe」と呼ばれる方法で問題になりましたが、動作させることができません。
PowerShellで実行時に構築するいくつかのパラメータでhg clone
を実行したいと思います。これまでのところ、私はこれをやっている:
$SourceRepo = "http://some.url.com/where.i.have.a.repo"
$TargetRepo = "d:\path\to\local\copy"
hg clone $SourceRepo $TargetRepo
問題があるが、http://some.url.comが認証を必要とすること。スクリプトを実行するとき、ユーザーにユーザー名とパスワードを尋ねます。それぞれ$Username
と$Password
に格納されているとします。
認証データを--config
を使用してMercurialに渡すことができます。私はそのように
$hgAuth = "--config auth.x.prefix=* --config auth.x.username=$Username --config auth.x.password=$Password --config auth.x.schemes=http
のような文字列を構築し、私はそうのような私のスクリプトを呼び出します。
hg clone $SourceRepo $TargetRepo $hgAuth
しかし、Mercurialは言って、エラーで中止します:
hg : hg clone: option --config auth.x.prefix not recognized
私がいない場合これらの変数を使用する代わりに、powershellに同じコマンドをプレーンテキストとして書き出して実行すると、期待どおりに動作します。
私はhgにパラメータを渡すために別の方法が必要であると思います。私は何が間違っているのか分かりません。
'$ hgAuth = "--config"、 "auth.x.prefix = *"、 "--config"、「auth.x.username = $ config "、" auth.x.schemes = http "' – PetSerAl
これは動作しました。素晴らしい。ありがとうございました。 – Hemisphera
これを実行すると、powershellはユーザ名/パスを待っているかのようにハングアップしますが、形や形はこれを示しません – ozzy432836