Git - config remote uploadpack nem működik
Üdv.
Van egy kis gondom gittel. Feltettem ssh-n egy szerverre ezt a tutorialt követve, minden megy rajta, kivéve a push meg a pull. Az a kínja, hogy nem találja a receive és upload pack-eket.
Ha megadom neki az upload pack helyét, akkor megy:Viszont ha a szerveren konfigolom be, akkor nem találja:Próbáltam abszolút útvonallal is, de ugyanaz az eredmény. Sajnos nem írja ki, hogy hol keresné, így debuggolni sem tudom. Van bármi ötletetek ezzel kapcsolatban, hogy miért hagyja figyelmen kívül a config-ot, vagy hogy esetleg hogyan tudnám debuggolni?
■ Van egy kis gondom gittel. Feltettem ssh-n egy szerverre ezt a tutorialt követve, minden megy rajta, kivéve a push meg a pull. Az a kínja, hogy nem találja a receive és upload pack-eket.
Ha megadom neki az upload pack helyét, akkor megy:
git clone -u /path/of/remote/git-upload-pack <remote-repo> <local-dir>
git config --global remote.origin.receivepack libexec/git-core/git-receive-pack
git config --global remote.origin.uploadpack libexec/git-core/git-upload-pack
strace
Köszi, amint lehet megnézem.
Nem teljesen áll össze a kép
Így próbálom lerántani a repot:
szerk:
Nem igazán értem ezt az egészet, mert ha "-u" -val megadom az upload pack helyét, akkor a libexec/... -ot elfogadja, viszont ha abszolút útvonalat adok meg "-u"-val, akkor nem találja meg. Tehát azt gyanítom, hogy az abszolút útvonallal van valami, azért nem fekszik neki.
Közben megpróbáltam egy másik tutorial alapján is. Ugyanebbe a problémába ütköztem.
Na közben összeállt a kép, nagyjából az történhet, hogy az itthoni git-em felmegy ssh-val a szerverre, és elsüti a "git-upload-pack" parancsot valamilyen paraméterekkel. Azt kéne elérnem, hogy ez a parancs a jó helyre mutasson. Na most ha simán bash-al csinálom mindezt, akkor teljesen jól működik. Megnézem mindjárt mivan, ha kiszedem a .bash_profile-ból a dolgokat. (Gondolom akkor már nem ennyire rózsás a helyzet.)
Yepp, szóval azt kéne megoldani, hogy amikor a git felkapcsolódik a szerverre, akkor is betöltsön egy config fájlt, amiben beállítja a git cuccok helyét. Az strace sajnos ezen nem segít...
Egyik lehetőség, hogy beállítom az itthoni gépen git config-ban ezeket. Ezt néztem be előtte, mert azt hittem, hogy a szerveren kellene beállítani, ami talán részben igaz is, mert egy clone-nál gondolom a másolat is átveszi ezeket a beállításokat. Ez működik is, csak elég körülményes minden másolatot beállítani, meg egyelőre más gondjaim is vannak a repokkal.
A másik lehetőség, hogy valahogyan rávesszük a szerver-t, hogy amikor a git ssh-val felkapcsolódik betöltsön egy config fájlt, amivel beállítja a git parancsok helyét. Na ez az, aminek jobban utána kellene néznem, hogy mi történik a git kapcsolódáskor. A sima ssh-nál a .bash_profile töltődik be, viszont git kapcsolódáskor ez úgy néz ki valamiért kimarad. Ja csekkoltam, tényleg kimarad, és a .bashrc is... Gondolom mert a bash-t sem indítja el, vagy mi a szösz. Megpróbálom az authorized_keys-es tákolással megoldani, hogy betöltse a .bashrc-t, kíváncsi vagyok.
A elvettem azt a megoldást,
A megoldásom tehát:
~/.ssh/authorized_keys