Anda dapat membuat bagian auth di Anda .hgrc
atau Mercurial.ini
berkas, seperti jadi:
[auth]
bb.prefix = https://bitbucket.org/repo/path
bb.username = foo
bb.password = foo_passwd
Bagian 'bb' adalah pengidentifikasi arbitrer dan digunakan untuk mencocokkan awalan dengan nama pengguna dan kata sandi - berguna untuk mengelola kombo nama pengguna / kata sandi yang berbeda dengan situs yang berbeda (awalan)
Anda juga hanya dapat menentukan nama pengguna, maka Anda hanya perlu mengetikkan kata sandi saat menekan.
Saya juga merekomendasikan untuk melihat ekstensi keyring . Karena menyimpan kata sandi di gantungan kunci sistem Anda alih-alih file teks biasa, ini lebih aman. Itu dibundel dengan TortoiseHg di Windows, dan saat ini ada diskusi tentang mendistribusikannya sebagai ekstensi yang dibundel pada semua platform.
Ada tiga cara untuk melakukan ini: gunakan file .hgrc, gunakan ssh atau gunakan ekstensi keyring
1. Cara INSECURE - perbarui file ~ / .hgrc Anda
Format yang berfungsi untuk saya (dalam file ~ / .hgrc saya) adalah ini
Anda dapat mengonfigurasi repo sebanyak yang Anda inginkan dengan menambahkan triplet lebih dari awalan, nama pengguna, kata sandi dengan menambahkan tag unik.
Ini hanya bekerja di Mercurial 1.3 dan jelas nama pengguna dan kata sandi Anda dalam teks biasa - tidak baik.
2. Cara aman - Gunakan SSH untuk MENGHINDARI menggunakan kata sandi
Mercurial sepenuhnya mendukung SSH sehingga kami dapat memanfaatkan kemampuan SSH untuk masuk ke server tanpa kata sandi - Anda melakukan konfigurasi sekali saja untuk memberikan sertifikat yang dihasilkan sendiri. Sejauh ini, ini adalah cara teraman untuk melakukan apa yang Anda inginkan.
Anda dapat menemukan informasi lebih lanjut tentang mengkonfigurasi login tanpa kata sandi di sini
3. Ekstensi keyring
Jika Anda menginginkan opsi yang aman, tetapi tidak terbiasa dengan SSH, mengapa tidak mencoba ini?
Dari dokumen ...
Ada informasi lebih rinci di sini
sumber
Tidak ada yang menyebutkan ekstensi keyring. Ini akan menyimpan nama pengguna dan kata sandi ke dalam keyring sistem, yang jauh lebih aman daripada menyimpan kata sandi Anda dalam file statis seperti yang disebutkan di atas. Lakukan langkah-langkah di bawah ini dan Anda harus melakukannya dengan baik. Saya menjalankan dan menjalankan ini di Ubuntu dalam waktu sekitar 2 menit.
https://www.mercurial-scm.org/wiki/KeyringExtension
sumber
Peretasan sederhana adalah dengan menambahkan nama pengguna dan kata sandi ke url push di
.hg/hgrc
file proyek Anda :(Perhatikan bahwa dengan cara ini Anda menyimpan kata sandi dalam teks biasa)
Jika Anda mengerjakan beberapa proyek di bawah domain yang sama, Anda mungkin ingin menambahkan aturan penulisan ulang di
~/.hgrc
file Anda , untuk menghindari pengulangan ini untuk semua proyek:Sekali lagi, karena kata sandi disimpan dalam teks biasa, saya biasanya menyimpan hanya nama pengguna saya.
Jika Anda bekerja di bawah Gnome, saya menjelaskan cara mengintegrasikan Mercurial dan Gnome Keyring di sini:
http://aloiroberto.wordpress.com/2009/09/16/mercurial-gnome-keyring-integration/
sumber
NOBODY di atas menjelaskan / mengklarifikasi persyaratan kepada pengguna pemula. Mereka menjadi bingung dengan persyaratan
.hg / hgrc - file ini digunakan untuk Repository, di lokasi / workspace lokal / di folder .hg repositori yang sebenarnya.
~ / .hgrc - file ini berbeda dari yang di bawah ini. file ini berada di ~ atau direktori home.
myremote.xxxx = ..... bb.xxxx = ......
Ini adalah salah satu baris di bawah bagian / arahan [auth], saat menggunakan ekstensi keyring mercurial. Pastikan nama server yang Anda letakkan di sana, cocok dengan apa yang Anda gunakan saat melakukan "hg clone" jika tidak maka keyring akan mengatakan, pengguna tidak ditemukan. bb atau myremote pada baris di bawah ini, adalah "alias nama" yang HARUS Anda berikan saat melakukan "hg clone http: /.../../ repo1 bb atau myremote" jika tidak, itu tidak akan berfungsi atau Anda harus memastikan lokal Anda File .hg / hgrc repositori berisi alias yang sama, yaitu (apa yang Anda berikan saat melakukan klon hg .. sebagai parameter terakhir).
PS tautan berikut untuk detail yang jelas, maaf untuk tata bahasa yang ditulis dengan cepat.
mis: Jika di dalam ~ / .hgrc (direktori home pengguna di Linux / Unix) atau mercurial.ini di Windows di direktori home pengguna, berisi, baris berikut dan jika Anda melakukannya
, maka Anda tidak akan pernah diminta kredensial pengguna lebih dari sekali per tautan repo http. Dalam ~ / .hgrc di bawah [extensions] sebuah baris untuk "mercurial_keyring =" atau "hgext.mercurial_keyring = /path/to/your/mercurial_keyring.py" .. salah satu baris ini harus ada di sana.
Saya mencoba mencari tahu cara mengatur properti PREFIX sehingga pengguna dapat mengkloning atau melakukan operasi Hg tanpa permintaan nama pengguna / kata sandi dan tanpa khawatir tentang apa yang ia sebutkan di http: // .... / ... for servername saat menggunakan tautan repo Hg. Itu bisa IP, servername atau FQDN server
sumber
instalasi mercurial_keyring pada Mac OSX menggunakan MacPorts:
Tambahkan yang berikut ke ~ / .hgrc:
sumber
Jika Anda menggunakan TortoiseHg, Anda harus melakukan tiga langkah ini yang ditunjukkan pada tangkapan layar yang terlampir, ini akan menambah kredensial Anda untuk repositori spesifik yang Anda kerjakan.
Untuk menambahkan pengaturan global, Anda dapat mengakses file C: \ users \ user.name \ mercurial.ini dan menambahkan bagian
Semoga ini membantu.
sumber
Meskipun mungkin atau mungkin tidak berfungsi dalam situasi Anda, saya merasa bermanfaat untuk membuat kunci publik / pribadi menggunakan Kontes Putty.
Jika Anda juga bekerja dengan bitbucket (.org), itu akan memberi Anda kemampuan untuk memberikan kunci publik ke akun pengguna Anda dan kemudian perintah yang menjangkau repositori akan diamankan secara otomatis.
Jika Pageant tidak memulai untuk Anda setelah reboot, Anda dapat menambahkan pintasan ke Pageant ke Windows Anda "Start menu" dan pintasan mungkin perlu memiliki 'properti' diisi dengan lokasi file pribadi (.ppk) Anda .
Dengan ini, Mercurial dan repositori lokal Anda perlu disetel untuk mendorong / menarik menggunakan format SSH.
Berikut adalah beberapa petunjuk terperinci di situs Atlassian untuk Windows OR Mac / Linux.
Anda tidak harus mengambil kata saya untuk itu dan tidak ada keraguan cara lain untuk melakukannya. Mungkin langkah-langkah yang dijelaskan di sini lebih untuk Anda:
sumber
Gunakan ekstensi keyring. Tambahkan entri di bawah ini ke file mercurial.ini.
[ekstensi] mercurial_keyring =
sumber