Como você define o nome de usuário que o Mercurial usa para os compromissos?
-
05-07-2019 - |
Pergunta
Quando começo algo em mercurial assim:
hg commit -m "username question"
Eu vejo esta saída:
No username found, using 'WindowsVistaAdmin@ChunkyMonkey' instead
ChunkyMonkey
é o meu nome de máquina do Windows e obviamente WindowsVistaAdmin
é o usuário que estou assinado como nesta máquina.
Como posso definir o nome de usuário para algo mais respeitável ou, pelo menos, mais conciso?
Solução
Na tua ~/.hgrc
(*nix) ou mercurial.ini
(Arquivo Windows):
[ui]
username = First Last <email@address.com>
(mercurial.ini
é em C:\Documents and Settings\[username]\
para xp e inferior, C:\Users\[username]\
para Vista e superior. Você também pode correr hgtk userconfig
Se você tem o Tortoisehg instalado e faça dessa maneira.)
Outras dicas
Você pode especificar seu nome de usuário na linha de comando diretamente, se quiser usar - -config. por exemplo
hg --config ui.username=frymaster -m "comment here" commit
De fato, você pode substituir qualquer coisa no seu .hgrc neste comando. Basta olhar para o seu .hgrc e observar o formato:
[section]
key=val
que se traduz diretamente para
hg --config section.key=val
Informação de aqui:
Configurando um nome de usuário
Quando você tenta executar o comprometimento da HG pela primeira vez, não é garantido que seja bem -sucedido. A Mercurial registra seu nome e endereço com cada alteração que você compromete, para que você e outras pessoas mais tarde possam dizer quem fez cada alteração. A Mercurial tenta descobrir automaticamente um nome de usuário sensível para cometer a mudança. Ele tentará cada um dos seguintes métodos, em ordem:
- Se você especificar uma opção -u para o comando HG Commit na linha de comando, seguido por um nome de usuário, isso sempre recebe a maior precedência.
- Se você definiu a variável de ambiente HGUSER, isso será verificado em seguida.
- Se você criar um arquivo no seu diretório inicial chamado .hgrc, com uma entrada de nome de usuário, que será usada a seguir. Para ver como deve ser o conteúdo desse arquivo, consulte a seção chamada “Criando um arquivo de configuração mercurial” abaixo.
- Se você definiu a variável de ambiente de email, isso será usado a seguir.
- O Mercurial consultará seu sistema para descobrir o nome de usuário e o nome do host local e construirá um nome de usuário a partir desses componentes. Como isso geralmente resulta em um nome de usuário que não é muito útil, ele imprimirá um aviso se precisar fazer isso.
Se todos esses mecanismos falharem, o Mercurial falhará, imprimindo uma mensagem de erro. Nesse caso, ele não permitirá que você se comprometa até configurar um nome de usuário.
Você deve pensar na variável de ambiente HGUSER e na opção -u para o comando commit hg como formas de substituir a seleção padrão do Mercurial do nome de usuário. Para uso normal, a maneira mais simples e robusta de definir um nome de usuário para si mesmo é criando um arquivo .hGRC; Veja abaixo para obter detalhes.
Aqui está como meu Windows /users/xxx/mercurial.ini parece. Não preciso inserir nome de usuário ou senhas para nada. Parece que pode ser específico do repo. Eu tenho o Tortoisehg instalado, não tenho certeza se isso faz alguma diferença.
[ui]
username=mbroekhuis
[auth]
repo.prefix=http://myrepo
repo.username=mbroekhuis
repo.password=secret