Sie können einen Authentifizierungsabschnitt in Ihrer .hgrc
oder Ihrer Mercurial.ini
Datei erstellen, wie folgt:
[auth]
bb.prefix = https://bitbucket.org/repo/path
bb.username = foo
bb.password = foo_passwd
Der 'bb'-Teil ist eine beliebige Kennung und wird verwendet, um das Präfix mit dem Benutzernamen und dem Passwort abzugleichen - praktisch zum Verwalten verschiedener Kombinationen aus Benutzername und Passwort mit verschiedenen Sites (Präfix)
Sie können auch nur den Benutzernamen angeben, dann müssen Sie nur Ihr Passwort eingeben, wenn Sie drücken.
Ich würde auch empfehlen, einen Blick auf die Schlüsselringverlängerung zu werfen . Da das Kennwort anstelle einer Nur-Text-Datei im Schlüsselring Ihres Systems gespeichert wird, ist es sicherer. Es wird mit TortoiseHg unter Windows gebündelt, und es wird derzeit diskutiert, es als gebündelte Erweiterung auf allen Plattformen zu verteilen.
Es gibt drei Möglichkeiten, dies zu tun: Verwenden Sie die .hgrc-Datei, verwenden Sie ssh oder verwenden Sie die Schlüsselring-Erweiterung
1. Der INSECURE-Weg - aktualisieren Sie Ihre ~ / .hgrc-Datei
Das Format, das für mich funktioniert (in meiner ~ / .hgrc-Datei), ist dieses
Sie können so viele Repos konfigurieren, wie Sie möchten, indem Sie weitere Triplets mit Präfix, Benutzername und Kennwort hinzufügen, indem Sie ein eindeutiges Tag voranstellen.
Dies funktioniert nur in Mercurial 1.3 und offensichtlich sind Ihr Benutzername und Ihr Passwort im Klartext - nicht gut.
2. Der sichere Weg - Verwenden Sie SSH, um die Verwendung von Passwörtern zu vermeiden
Mercurial unterstützt SSH vollständig, sodass wir die Möglichkeit von SSH nutzen können , sich ohne Kennwort bei einem Server anzumelden. Sie führen eine einmalige Konfiguration durch, um ein selbst generiertes Zertifikat bereitzustellen. Dies ist bei weitem der sicherste Weg, um das zu tun, was Sie wollen.
Weitere Informationen zum Konfigurieren der kennwortlosen Anmeldung finden Sie hier
3. Die Schlüsselringverlängerung
Wenn Sie eine sichere Option wünschen, aber mit SSH nicht vertraut sind, versuchen Sie es doch einmal.
Aus den Dokumenten ...
Weitere Informationen finden Sie hier
quelle
Niemand erwähnte die Schlüsselringverlängerung. Der Benutzername und das Kennwort werden im Systemschlüsselring gespeichert. Dies ist weitaus sicherer als das Speichern Ihrer Kennwörter in einer statischen Datei, wie oben erwähnt. Führen Sie die folgenden Schritte aus, und Sie sollten bereit sein, loszulegen. Ich hatte dies unter Ubuntu in ca. 2 Minuten zum Laufen gebracht.
https://www.mercurial-scm.org/wiki/KeyringExtension
quelle
Ein einfacher Hack besteht darin, der Push-URL in der
.hg/hgrc
Datei Ihres Projekts einen Benutzernamen und ein Passwort hinzuzufügen :(Beachten Sie, dass Sie auf diese Weise das Passwort im Klartext speichern.)
Wenn Sie an mehreren Projekten unter derselben Domäne arbeiten, möchten Sie möglicherweise eine Umschreiberegel in Ihre
~/.hgrc
Datei einfügen, um zu vermeiden, dass dies für alle Projekte wiederholt wird:Da das Passwort im Klartext gespeichert ist, speichere ich normalerweise nur meinen Benutzernamen.
Wenn Sie unter Gnome arbeiten, erkläre ich hier, wie Sie Mercurial und den Gnome-Schlüsselring integrieren:
http://aloiroberto.wordpress.com/2009/09/16/mercurial-gnome-keyring-integration/
quelle
NIEMAND oben erläuterte / geklärte Begriffe für einen Anfänger. Sie werden durch die Begriffe verwirrt
.hg / hgrc - Diese Datei wird für das Repository am lokalen / Arbeitsbereich / im .hg-Ordner des tatsächlichen Repositorys verwendet.
~ / .hgrc - Diese Datei unterscheidet sich von der folgenden. Diese Datei befindet sich im Verzeichnis ~ oder im Ausgangsverzeichnis.
myremote.xxxx = ..... bb.xxxx = ......
Dies ist eine der Zeilen unter [auth] Abschnitt / Direktive, während die Erweiterung des Quecksilberschlüsselrings verwendet wird. Stellen Sie sicher, dass der Servername, den Sie dort eingegeben haben, mit dem übereinstimmt, den Sie beim Ausführen von "hg clone" verwenden. Andernfalls wird durch den Schlüsselbund angezeigt, dass der Benutzer nicht gefunden wurde. bb oder myremote in der folgenden Zeile sind "Aliasnamen", die Sie angeben müssen, während Sie "hg clone http: /.../../ repo1 bb oder myremote" ausführen. Andernfalls funktioniert es nicht oder Sie müssen sicherstellen, dass Ihr lokaler Name vorhanden ist Die .hg / hgrc-Datei des Repositorys enthält denselben Alias, dh (was Sie beim Ausführen von hg clone .. als letzten Parameter angegeben haben).
PS die folgenden Links für klare Details, entschuldigen Sie die schnell geschriebene Grammatik.
Beispiel: Wenn sich in ~ / .hgrc (Home-Verzeichnis des Benutzers unter Linux / Unix) oder mercurial.ini in Windows im Home-Verzeichnis des Benutzers die folgende Zeile befindet und wenn Sie dies tun
Dann werden Sie nie mehr als einmal pro http-Repo-Link zur Eingabe von Benutzeranmeldeinformationen aufgefordert. In ~ / .hgrc unter [Erweiterungen] sollte eine Zeile für "mercurial_keyring =" oder "hgext.mercurial_keyring = /path/to/your/mercurial_keyring.py" .. eine dieser Zeilen sollte vorhanden sein.
Ich versuche herauszufinden, wie die PREFIX-Eigenschaft so festgelegt werden kann, dass Benutzer Hg-Vorgänge ohne Eingabeaufforderung für Benutzername / Kennwort klonen oder ausführen können, ohne sich Gedanken darüber zu machen, was er in http: // .... / ... für erwähnt hat Servername bei Verwendung des Hg-Repo-Links. Dies kann IP, Servername oder der vollqualifizierte Domänenname des Servers sein
quelle
Installation von mercurial_keyring unter Mac OSX mit MacPorts:
Fügen Sie ~ / .hgrc Folgendes hinzu:
quelle
Wenn Sie TortoiseHg verwenden, müssen Sie die drei im beigefügten Screenshot gezeigten Schritte ausführen. Dadurch werden Ihre Anmeldeinformationen für das spezifische Repository hinzugefügt, mit dem Sie arbeiten.
Um globale Einstellungen hinzuzufügen, können Sie auf die Datei C: \ users \ user.name \ mercurial.ini zugreifen und den Abschnitt hinzufügen
Hoffe das hilft.
quelle
Obwohl es in Ihrer Situation möglicherweise funktioniert oder nicht, habe ich es als nützlich empfunden, mit Putty's Pageant einen öffentlichen / privaten Schlüssel zu generieren.
Wenn Sie auch mit bitbucket (.org) arbeiten, sollten Sie die Möglichkeit haben, Ihrem Benutzerkonto einen öffentlichen Schlüssel bereitzustellen. Befehle, die das Repository erreichen, werden dann automatisch gesichert.
Wenn Pageant bei einem Neustart nicht für Sie gestartet wird, können Sie Ihrem Windows-Startmenü eine Verknüpfung zu Pageant hinzufügen. Für die Verknüpfung müssen möglicherweise Eigenschaften mit dem Speicherort Ihrer privaten (PPP-) Datei angegeben werden .
Wenn dies vorhanden ist, müssen Mercurial und Ihre lokalen Repositorys so eingerichtet sein, dass sie im SSH-Format Push / Pull ausführen.
Hier finden Sie einige detaillierte Anweisungen auf der Atlassian -Website für Windows ODER Mac / Linux.
Sie müssen nicht mein Wort dafür nehmen und es gibt zweifellos andere Möglichkeiten, dies zu tun. Vielleicht sind diese hier beschriebenen Schritte mehr für Sie:
quelle
Schlüsselringverlängerung verwenden. Fügen Sie den folgenden Eintrag zur Datei mercurial.ini hinzu.
[Erweiterungen] mercurial_keyring =
quelle