Você pode criar uma seção de autenticação no seu arquivo .hgrc
ou Mercurial.ini
, da seguinte forma:
[auth]
bb.prefix = https://bitbucket.org/repo/path
bb.username = foo
bb.password = foo_passwd
A parte 'bb' é um identificador arbitrário e é usada para combinar prefixo com nome de usuário e senha - útil para gerenciar combinações diferentes de nome de usuário / senha com sites diferentes (prefixo)
Você também pode especificar apenas o nome do usuário e precisará digitar sua senha ao pressionar.
Eu também recomendaria dar uma olhada na extensão do chaveiro . Como ele armazena a senha no conjunto de chaves do seu sistema em vez de um arquivo de texto sem formatação, é mais seguro. Ele vem com o TortoiseHg no Windows e, atualmente, há uma discussão sobre como distribuí-lo como uma extensão em todas as plataformas.
Há três maneiras de fazer isso: use o arquivo .hgrc, use ssh ou use a extensão de chaveiro
1. A maneira INSECURE - atualize seu arquivo ~ / .hgrc
O formato que funciona para mim (no meu arquivo ~ / .hgrc) é este
Você pode configurar quantos repositórios desejar adicionando mais trigêmeos de prefixo, nome de usuário e senha, adicionando uma tag exclusiva.
Isso funciona apenas no Mercurial 1.3 e, obviamente, seu nome de usuário e senha estão em texto simples - não é bom.
2. A maneira segura - use SSH para EVITAR usando senhas
O Mercurial suporta totalmente o SSH, para que possamos tirar proveito da capacidade do SSH de fazer login em um servidor sem uma senha - você faz uma configuração única para fornecer um certificado auto-gerado. Essa é de longe a maneira mais segura de fazer o que você deseja.
Você pode encontrar mais informações sobre como configurar o login sem senha aqui
3. A extensão do chaveiro
Se você deseja uma opção segura, mas não conhece o SSH, por que não tentar isso?
Dos documentos ...
Há informações mais detalhadas aqui
fonte
Ninguém mencionou a extensão do chaveiro. Ele salvará o nome de usuário e a senha no chaveiro do sistema, que é muito mais seguro do que armazenar suas senhas em um arquivo estático, como mencionado acima. Execute as etapas abaixo e você deve estar pronto. Eu tive isso em funcionamento no Ubuntu em cerca de 2 minutos.
https://www.mercurial-scm.org/wiki/KeyringExtension
fonte
Um truque simples é adicionar nome de usuário e senha ao URL de envio no
.hg/hgrc
arquivo do seu projeto :(Observe que dessa maneira você armazena a senha em texto sem formatação)
Se você estiver trabalhando em vários projetos no mesmo domínio, poderá adicionar uma regra de reescrita em seu
~/.hgrc
arquivo, para evitar repetir isso para todos os projetos:Novamente, como a senha é armazenada em texto sem formatação, eu costumo armazenar apenas meu nome de usuário.
Se você estiver trabalhando no Gnome, explico como integrar o Mercurial e o Gnome Keyring aqui:
http://aloiroberto.wordpress.com/2009/09/16/mercurial-gnome-keyring-integration/
fonte
NINGUÉM acima explicou / esclareceu termos para um usuário iniciante. Eles ficam confusos com os termos
.hg / hgrc - esse arquivo é usado para o repositório, no local / local da área de trabalho / na pasta .hg do repositório real.
~ / .hgrc - esse arquivo é diferente do arquivo abaixo. esse arquivo reside no diretório ~ ou home.
myremote.xxxx = ..... bb.xxxx = ......
Esta é uma das linhas da seção / diretiva [auth], enquanto estiver usando a extensão do chaveiro mercurial. Verifique se o nome do servidor que você coloca lá corresponde ao que você usa enquanto faz o "hg clone", caso contrário, o chaveiro dirá: usuário não encontrado. bb ou myremote na linha abaixo, são "alias name" que você DEVE dar ao fazer "hg clone http: /.../../ repo1 bb ou myremote" caso contrário, ele não funcionará ou você precisará garantir que seu local O arquivo .hg / hgrc do repositório contém o mesmo alias, ou seja, (o que você deu ao fazer o hg clone .. como último parâmetro).
PS os seguintes links para obter detalhes claros, desculpe-me pela gramática escrita rapidamente.
ex: se dentro de ~ / .hgrc (diretório inicial do usuário no Linux / Unix) ou mercurial.ini no Windows no diretório inicial do usuário, contiver a seguinte linha e se você
, nunca serão solicitadas credenciais de usuário mais de uma vez por link de repo http. Em ~ / .hgrc, em [extensions], uma linha para "mercurial_keyring =" ou "hgext.mercurial_keyring = /path/to/your/mercurial_keyring.py" .. uma dessas linhas deve estar lá.
Estou tentando descobrir como definir a propriedade PREFIX para que o usuário possa clonar ou executar qualquer operação Hg sem solicitações de nome de usuário / senha e sem se preocupar com o que ele mencionou no http: // .... / ... servername ao usar o link de reporte Hg. Pode ser IP, nome do servidor ou FQDN do servidor
fonte
instalação mercurial_keyring no Mac OSX usando o MacPorts:
Adicione o seguinte a ~ / .hgrc:
fonte
Se você estiver usando o TortoiseHg, precisará executar essas três etapas mostradas na captura de tela anexada, isso adicionará suas credenciais para o repositório específico com o qual você está trabalhando.
Para adicionar configurações globais, você pode acessar o arquivo C: \ users \ user.name \ mercurial.ini e adicionar a seção
Espero que isto ajude.
fonte
Embora possa ou não funcionar na sua situação, achei útil gerar uma chave pública / privada usando o Putty's Pageant.
Se você também estiver trabalhando com o bitbucket (.org), deverá fornecer uma chave pública à sua conta de usuário e, em seguida, os comandos que chegarem ao repositório serão protegidos automaticamente.
Se o Pageant não inicializar para você durante uma reinicialização, você poderá adicionar um atalho ao Pageant no "Menu Iniciar" do Windows e o atalho pode precisar ter uma 'propriedade' preenchida com o local do seu arquivo privado (.ppk) .
Com isso, o Mercurial e seus repositórios locais precisarão ser configurados para push / pull usando o formato SSH.
Aqui estão algumas instruções detalhadas sobre o Atlassian site da para Windows OU Mac / Linux.
Você não precisa aceitar minha palavra e, sem dúvida, há outras maneiras de fazê-lo. Talvez estas etapas descritas aqui sejam mais para você:
fonte
Use extensão de chaveiro. Adicione abaixo a entrada ao arquivo mercurial.ini.
[extensões] mercurial_keyring =
fonte