Puede hacer una sección de autenticación en su archivo .hgrc
o Mercurial.ini
, así:
[auth]
bb.prefix = https://bitbucket.org/repo/path
bb.username = foo
bb.password = foo_passwd
La parte 'bb' es un identificador arbitrario y se usa para unir el prefijo con el nombre de usuario y la contraseña, lo que es útil para administrar diferentes combinaciones de nombre de usuario / contraseña con diferentes sitios (prefijo)
También solo puede especificar el nombre de usuario, luego solo tendrá que escribir su contraseña cuando presione.
También recomendaría echar un vistazo a la extensión del llavero . Debido a que almacena la contraseña en el llavero de su sistema en lugar de un archivo de texto sin formato, es más seguro. Se incluye con TortoiseHg en Windows, y actualmente hay una discusión sobre su distribución como una extensión incluida en todas las plataformas.
Hay tres formas de hacer esto: use el archivo .hgrc, use ssh o use la extensión de llavero
1. La manera INSEGURA: actualice su archivo ~ / .hgrc
El formato que funciona para mí (en mi archivo ~ / .hgrc) es este
Puede configurar tantos repositorios como desee agregando más tripletas de prefijo, nombre de usuario y contraseña anteponiendo una etiqueta única.
Esto solo funciona en Mercurial 1.3 y obviamente su nombre de usuario y contraseña están en texto plano, no es bueno.
2. La forma segura: use SSH para EVITAR el uso de contraseñas
Mercurial es totalmente compatible con SSH, por lo que podemos aprovechar la capacidad de SSH para iniciar sesión en un servidor sin una contraseña : realiza una configuración única para proporcionar un certificado autogenerado. Esta es, con mucho, la forma más segura de hacer lo que quieres.
Puede encontrar más información sobre la configuración de inicio de sesión sin contraseña aquí
3. La extensión del llavero
Si desea una opción segura, pero no está familiarizado con SSH, ¿por qué no prueba esto?
De los documentos ...
Hay información más detallada aquí.
fuente
Nadie mencionó la extensión del llavero. Guardará el nombre de usuario y la contraseña en el conjunto de claves del sistema, que es mucho más seguro que almacenar sus contraseñas en un archivo estático como se mencionó anteriormente. Realice los pasos a continuación y debería estar listo para comenzar. Tuve esto en funcionamiento en Ubuntu en aproximadamente 2 minutos.
https://www.mercurial-scm.org/wiki/KeyringExtension
fuente
Un truco simple es agregar nombre de usuario y contraseña a la url de inserción en el
.hg/hgrc
archivo de su proyecto :(Tenga en cuenta que de esta manera almacena la contraseña en texto plano)
Si está trabajando en varios proyectos bajo el mismo dominio, es posible que desee agregar una regla de reescritura en su
~/.hgrc
archivo, para evitar repetir esto para todos los proyectos:Nuevamente, dado que la contraseña se almacena en texto plano, generalmente almaceno solo mi nombre de usuario.
Si está trabajando con Gnome, le explico cómo integrar Mercurial y el llavero Gnome aquí:
http://aloiroberto.wordpress.com/2009/09/16/mercurial-gnome-keyring-integration/
fuente
NADIE anteriormente explicó / aclaró los términos a un usuario novato. Se confunden con los términos
.hg / hgrc: este archivo se utiliza para el Repositorio, en la ubicación local / workspace / en la carpeta .hg del repositorio real.
~ / .hgrc: este archivo es diferente del siguiente. este archivo reside en ~ o directorio de inicio.
myremote.xxxx = ..... bb.xxxx = ......
Esta es una de las líneas bajo la sección / directiva [auth], mientras se usa la extensión mercurial keyring. Asegúrese de que el nombre del servidor que coloque allí coincida con lo que usa mientras hace "hg clone", de lo contrario, el llavero dirá, usuario no encontrado. bb o myremote en la línea a continuación, son "nombre de alias" que DEBE dar al hacer "hg clone http: /.../../ repo1 bb o myremote" de lo contrario, no funcionará o debe asegurarse de que su local El archivo .hg / hgrc del repositorio contiene el mismo alias, es decir (lo que proporcionó al hacer clonación hg ... como último parámetro).
PD: los siguientes enlaces para obtener detalles claros, perdón por la gramática escrita rápidamente.
ej .: si está dentro de ~ / .hgrc (directorio de inicio del usuario en Linux / Unix) o mercurial.ini en Windows en el directorio de inicio del usuario, contiene la siguiente línea y si lo hace
, nunca se le solicitarán credenciales de usuario más de una vez por enlace de repositorio http. En ~ / .hgrc bajo [extensiones] una línea para "mercurial_keyring =" o "hgext.mercurial_keyring = /path/to/your/mercurial_keyring.py" ... una de estas líneas debería estar allí.
Estoy tratando de averiguar cómo configurar la propiedad PREFIX para que el usuario pueda clonar o realizar cualquier operación Hg sin indicaciones de nombre de usuario / contraseña y sin preocuparse por lo que mencionó en http: // .... / ... para nombre del servidor mientras se usa el enlace de repositorio de Hg. Puede ser IP, nombre de servidor o FQDN del servidor
fuente
Instalación de mercurial_keyring en Mac OSX usando MacPorts:
Agregue lo siguiente a ~ / .hgrc:
fuente
Si está utilizando TortoiseHg, debe realizar estos tres pasos que se muestran en la captura de pantalla adjunta, esto agregaría sus credenciales para el repositorio específico con el que está trabajando.
Para agregar configuraciones globales, puede acceder al archivo C: \ users \ user.name \ mercurial.ini y agregar la sección
Espero que esto ayude.
fuente
Si bien puede o no funcionar en su situación, he encontrado útil generar una clave pública / privada usando el concurso de Putty.
Si también está trabajando con bitbucket (.org), debería darle la posibilidad de proporcionar una clave pública a su cuenta de usuario y luego los comandos que lleguen al repositorio se protegerán automáticamente.
Si Pageant no se inicia al reiniciarlo, puede agregar un acceso directo a Pageant en su "Menú de inicio" de Windows y es posible que el acceso directo necesite tener un 'propiedades' rellenado con la ubicación de su archivo privado (.ppk) .
Con esto en su lugar, Mercurial y sus repositorios locales deberán configurarse para empujar / tirar utilizando el formato SSH.
Aquí hay algunas instrucciones detalladas en el sitio de Atlassian para Windows O Mac / Linux.
No tiene que aceptar mi palabra y sin duda hay otras formas de hacerlo. Quizás estos pasos descritos aquí son más para usted:
fuente
Use la extensión de llavero. Agregue la entrada siguiente al archivo mercurial.ini.
[extensiones] mercurial_keyring =
fuente