1
votes

I had to do some work in mercurial repository on another computer. This repository has a subrepo.
The repository remote path is ssh://remote_username@server/path, so hg asks me for password for user remote_username. However, the subrepository has no username in the remote url, and when pushing, it asks me for password for the local username.
I have not found a way to force it to either authenticate as remote_username, or at least prompt for username.
I have tried changing hg config auth section and the subrepo hgrc, but neither worked. I may also update the url in .hgsub to include remote_username, but then I would have to push that as well, and everybody would have to authenticate as me, which is not quite desirable.
How can I force hg to use the username I want for remote authentication?

Hg version is 4.2.1.
OS is MacOS.
Protocol is ssh.

1

1 Answers

0
votes

My first solution was to create a samba share (this functionality is built into MacOS), mount that from a Windows machine, and then use TortoiseHg's hg client, which prompts for username. This, however, requires another machine with Windows, so it's not much of an answer.

Recently I have found a better solution: create /Users/local_username/.ssh/config and add the following to it:

Host server
  User remote_username

Where server is the server's URI and remote_username is the username I want to login as.

Worked like a charm.