I’ve been playing with NetBeans 6.7M3 and the latest Mercurial plugin and found that I couldn’t push to a remote repository via ssh. All netbeans would return was:
Mercurial Push -------------- INFO Pushing To: ssh://pmount@lego.office.gameaccount.com/hg/ga4Partner ... ERROR Command failed: Command: [/usr/local/bin/hg, outgoing, -v, --template=rev:{rev}\nauth:{author}\ndesc:{desc}\ndate:{date|hgdate}\nid:{node|short}\n\nendCS:\n, --repository, /Users/peter/dev/gameaccount/maven/ga4Partner, ssh://pmount@lego.office.gameaccount.com/hg/ga4Partner] Output: [running ssh pmount@lego.office.gameaccount.com “hg -R hg/ga4Partner serve --stdio”, remote: ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory, remote: Host key verification failed., abort: no suitable response from remote hg!] INFO: End of Mercurial Push
Here the remote server is trying to prompt for the login password but fails because OSX 10.5 does not have the ssk-askpass command.
After some searching on the net (ok Google who else) I found Mercurial Push from IntelliJ where someone had a similar position with IntelliJ. By creating the following script mercurial in NB6.7M3 works flawlessly:
sabrina:~ peter$ sudo vi /usr/libexec/ssh-askpass #! /bin/sh # # An SSH_ASKPASS command for MacOS X # # Author: Joseph Mocker, Sun Microsystems # # To use this script: # setenv SSH_ASKPASS "macos-askpass" # setenv DISPLAY ":0" # TITLE=${MACOS_ASKPASS_TITLE:-"SSH"} DIALOG="display dialog \"$@\" default answer \"\" with title \"$TITLE\"" DIALOG="$DIALOG with icon caution with hidden answer" result=`osascript -e 'tell application "Finder"' -e "activate" -e "$DIALOG" -e 'end tell'` if [ "$result" = "" ]; then exit 1 else echo "$result" | sed -e 's/^text returned://' -e 's/, button returned:.*$//' exit 0 fi sabrina:~ peter$ sudo chmod +x /usr/libexec/ssh-askpass