Ich versuche, einige Sachen für Mercurial mit Powershell zu automatisieren.Aufruf von hg aus Powershell mit Argumenten in String
Dies muss ein Problem sein mit, wie ich "hg.exe" und nicht mit Mercurial selbst aufrufen, aber ich kann es nicht funktionieren.
Ich möchte eine hg clone
mit einigen Parametern ausführen, die ich zur Laufzeit in Powershell konstruiere. Bisher habe ich dies tue:
$SourceRepo = "http://some.url.com/where.i.have.a.repo"
$TargetRepo = "d:\path\to\local\copy"
hg clone $SourceRepo $TargetRepo
Das Problem ist, dass http://some.url.com Authentifizierung erfordert. Beim Ausführen des Skripts frage ich den Benutzer nach Benutzername und Passwort. Angenommen, ich habe sie in $Username
bzw. $Password
gespeichert.
Ich kann Authentifizierungsdaten mit --config
an Mercurial übergeben. Ich baue dann eine Zeichenfolge wie so
$hgAuth = "--config auth.x.prefix=* --config auth.x.username=$Username --config auth.x.password=$Password --config auth.x.schemes=http
Und so nenne ich mein Skript wie folgt:
hg clone $SourceRepo $TargetRepo $hgAuth
Aber Mercurial bricht mit einem Fehler, zu sagen:
hg : hg clone: option --config auth.x.prefix not recognized
Wenn ich nicht Verwenden Sie diese Variablen, aber schreiben Sie den gleichen identischen Befehl in Powershell als Nur-Text und führen Sie es aus, es funktioniert wie erwartet.
Also ich denke, dass es eine andere Möglichkeit für mich geben muss, die Parameter an hg zu übergeben. Ich kann einfach nicht herausfinden, was ich falsch mache.
'$ hgAuth = "--config", "auth.x.prefix = *", "--config",„auth.x.username = $ Benutzername "," --config "," auth.x.password = $ Passwort "," --config "," auth.ex.schemes = http "' – PetSerAl
Das hat es funktioniert. Wunderbar. Vielen Dank. – Hemisphera
Wenn ich das ausführen, hängt Powershell nur, als ob es auf einen Benutzernamen/Pass wartet, aber zeigt dies in keiner Form an – ozzy432836