5

I'm using bitbucket along with git to manage a project. I've experience no problems under windows development environment however i'm having issues in debian squeeze. The problem is not present at clone, only on push. The error i'm getting is:

fatal: Unable to find remote helper for 'https'

I've tried compile it with curl, tried installing several version of curl, but no success. In this question the git version was 1.7.1 and the answer was to move to 1.7.7, however my version of git is 1.7.11

How can i fix this?

Update:

My config.log says NO_CURL=''

I have no problem using curl by itself with https

Update2:

my config also says NO_OPENSSL = ''

Doing a find -name git-remote-* on root shows me the following:

./usr/share/man/man1/git-remote-helpers.1.gz
./usr/local/libexec/git-core/git-remote-fd
./usr/local/libexec/git-core/git-remote-ext
./usr/local/libexec/git-core/git-remote-https
./usr/local/libexec/git-core/git-remote-testgit
./usr/local/libexec/git-core/git-remote-ftps
./usr/local/libexec/git-core/git-remote-ftp
./usr/local/libexec/git-core/git-remote-http
./usr/lib/git-core/git-remote-https
./usr/lib/git-core/git-remote-testgit
./usr/lib/git-core/git-remote-ftps
./usr/lib/git-core/git-remote-ftp
./usr/lib/git-core/git-remote-http
./home/osednaca/git-1.7.11/git-remote-ftps
./home/osednaca/git-1.7.11/git-remote-ext
./home/osednaca/git-1.7.11/git-remote-https
./home/osednaca/git-1.7.11/git-remote-testgit.py
./home/osednaca/git-1.7.11/git-remote-ftp
./home/osednaca/git-1.7.11/git-remote-fd
./home/osednaca/git-1.7.11/Documentation/git-remote-helpers.txt
./home/osednaca/git-1.7.11/Documentation/git-remote-fd.txt
./home/osednaca/git-1.7.11/Documentation/git-remote-testgit.txt
./home/osednaca/git-1.7.11/Documentation/git-remote-ext.txt
./home/osednaca/git-1.7.11/git-remote-testgit
./home/osednaca/git-1.7.11/git-remote-http
./home/osednaca/git-1.7.11/contrib/mw-to-git/git-remote-mediawiki
./home/osednaca/git-1.7.11/contrib/mw-to-git/git-remote-mediawiki.txt
Community
  • 1
  • 1
KoU_warch
  • 2,160
  • 1
  • 25
  • 46
  • How did you get this version of git? Compile it yourself? Install some package? Which one? – Seth Robertson Jul 19 '12 at 00:47
  • I had the version that came with debian repository, then got the problem and compile it myself but the same problem happend – KoU_warch Jul 19 '12 at 00:50
  • Do you have git-remote-http? `ls /usr/libexec/git-core/git-remote*` might work, but your path may vary. Do you have the libcurl development package installed? Does curl support https URLs if you try? Do you have openssl and the openssl-devel library installed? – Seth Robertson Jul 19 '12 at 00:56
  • 1
    Specifically libssl-dev and libcurl4-openssl-dev – Seth Robertson Jul 19 '12 at 01:04
  • @SethRobertson just tried curl with https and works ok. And have no file like git-remote* and i dont have libcurl4-openssl-dev. Which is the exact procedure i should follow? – KoU_warch Jul 19 '12 at 01:10
  • Then when you compiled git it was unable to find/use libcurl, possibly because you didn't have the libcurl*-dev package installed. Make sure you have libssl-dev installed as well. When you recompile git perhaps you should use the configure method after which you can inspect config.log to see if it found CURL (NO_CURL should not be set) – Seth Robertson Jul 19 '12 at 01:17
  • @SethRobertson ok, config log: NO_CURL='', is that good? Still same error. – KoU_warch Jul 19 '12 at 01:52
  • Yes, it found libcurl. Did it build git-remote-* commands `ls git-remote-*`? Did it find openssl `grep OPENSSL config.log`? – Seth Robertson Jul 19 '12 at 11:48
  • @SethRobertson NO_OPENSSL = ''. I finally did a find -name git-remote-* on root and found out that there is a mess, see my update and help me out please! – KoU_warch Jul 21 '12 at 02:28
  • Please paste the command and output of `GIT_TRACE=1 git push` – Seth Robertson Jul 21 '12 at 13:40

1 Answers1

6

If you were to strace -f this you would see it actually is trying to find that helper, but in system path. To change that root you can use --exec-path or GIT_EXEC_PATH.

For example say I wget'd git-core from the archive, and dpkg -x into ~/opt, I would then

export GIT_EXEC_PATH=/home/ppetraki/opt/usr/lib/git-core

where,

find ~/ -name git-remote-https
/home/ppetraki/opt/usr/lib/git-core/git-remote-https

Use this to debug,

strace -f $FOO/usr/bin/git clone https://uri > trace.out 2>&1

Hope this helps.

neubert
  • 15,947
  • 24
  • 120
  • 212
ppetraki
  • 428
  • 4
  • 11