Permalänk

Koppla upp sig mot server git

Hej jag försöker med sourcetree koppla upp mig mot min git mapp på webbhotellet som tillåter det.
Men får felet git-upload-pack not found.

Vad gör jag för fel?

Permalänk
Hedersmedlem

Du får fylla i med lite kommandon och annan information för att kunna få bättre hjälp. Vad har du gjort? Har du fyllt i uppgifter korrekt (inklusive korrekt användning av stora/små bokstäver)? Tills dess är nog bästa tipset att söka på felmeddelandet på en stor sökmotor nära dig.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk

Jag använder rätt nyckel och source pathen är satt till ssh://användarnamn@66.7.217.224:1157/home/användarnamn/public_html/mapp.git

Permalänk

Exakt det här felet får jag, när jag försöker fetcha:

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
stdin: is not a tty

bash: git-upload-pack: command not found
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Completed with errors, see above.

Permalänk
Hedersmedlem

Om du på fjärrsidan kör:

which -a git-upload-pack

samt

echo $PATH

, vad får du då för svar? Testa även att från din egen sida mot servern köra:

ssh -p 1157 användarnamn@66.7.217.224 'echo $PATH'

(apostroferna är viktiga) och jämför output med hur PATH ser ut när du är fjärrdatorn, samt hur den ser ut om du kör ett kommando över SSH.

En misstanke är att din hostingtjänst använder specialsökvägar till vissa binärer som av någon anledning inte sätts över SSH (antingen då de skrivs över genom märkligt konfat SSH på klientsidan, eller (troligare) att de sätts i inställningsfiler som bara körs för interaktiva skal).

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Skrivet av phz:

Om du på fjärrsidan kör:

which -a git-upload-pack

samt

echo $PATH

, vad får du då för svar? Testa även att från din egen sida mot servern köra:

ssh -p 1157 användarnamn@66.7.217.224 'echo $PATH'

(apostroferna är viktiga) och jämför output med hur PATH ser ut när du är fjärrdatorn, samt hur den ser ut om du kör ett kommando över SSH.

En misstanke är att din hostingtjänst använder specialsökvägar till vissa binärer som av någon anledning inte sätts över SSH (antingen då de skrivs över genom märkligt konfat SSH på klientsidan, eller (troligare) att de sätts i inställningsfiler som bara körs för interaktiva skal).

Med:

which -a git-upload-pack

Fick jag ingenting.

Med:

echo $PATH

fick jag:

/usr/local/jdk/bin:/home/davidthe/perl5/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/local/puppet/sbin:/usr/local/puppet/bin:/home/davidthe/bin

och sista av det du skrev förstod jag inte...

Permalänk
Hedersmedlem
Skrivet av granskog1:

Med:

which -a git-upload-pack

Fick jag ingenting.

Betyder inte det att Git inte finns installerat på fjärrservern? Du körde alltså detta kommando på ditt webbhotell?

Vad händer om du kör `which -a git` och `git --version` i en likadan SSH-session?

Skrivet av granskog1:

och sista av det du skrev förstod jag inte...

Tanken med det sista var att du skulle köra det kommandot i en terminal från din lokala dator, men du kanske bara kör SSH via PuTTY eller något, så att du inte har någon SSH-binär att köra i kommandoläge. Det är nog vanligt att göra så i Windows, men det försvårar felsökning en aning . Det verkar som att man ska ange i programmet Sourcetree om man vill använda PuTTY eller OpenSSH via Cygwin som SSH-klient, där PuTTY är default — se till att det är korrekt inställt (ser dock inte hur just det kan ge upphow till det fel du beskriver).

Allmänt så är det ofta ett gissel att felsöka hostinglösningar där man inte har koll på setupen själv, för banne mig alla har olika inställningar på allt under himmel och jord, och ibland antika versioner, och ibland multipla versioner samtidigt som blandas hejvilt. Det betyder inte att man ska ge upp, men man får vara beredd på lite blod och svett .

Ifall Git är installerat på fjärrsidan, bara att det inte är tillagt i din PATH per default (vilket låter mysko, men som sagt: tredjepartshosting…) så kan man ge binären som direkt argument, men hur Sourcetree löser detta vet jag inte. Alternativt får man ändra i konfigurationsfiler så att man uppdaterar PATH när man loggar in.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk

Ja jag kör bara ssh via Putty och det är satt som standard i SourceTree.
Ok, föreslår du att jag skaffa egen VPS?

Tack för all hjälp/
Granskog

Permalänk
Hedersmedlem
Skrivet av granskog1:

Ja jag kör bara ssh via Putty och det är satt som standard i SourceTree.
Ok, föreslår du att jag skaffa egen VPS?

Tack för all hjälp/
Granskog

Nä, det var bara en notis för att klargöra att det ibland kan vara klurigt att lista ut hur de har tänkt.

Om tanken är att Git ska finnas installerat så måste ju saker dock gå att lösa. Testa `which -a git` som jag nämnde i förra posten, och försök lista ut var Git är installerat. Om de erbjuder denna tjänst så borde det ju finnas någon information om hur det är tänkt att sättas upp.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk

Här ligger git hos dem: /usr/local/bin/git

Permalänk
Hedersmedlem
Skrivet av granskog1:

Här ligger git hos dem: /usr/local/bin/git

Testa `git --version` som jag nämnde tidigare. Det låter också märkligt att `git-upload-pack` inte skulle finnas överhuvudtaget, om nu `git` finns. Kontrollera att det inte bara var något typo.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Skrivet av phz:

Testa `git --version` som jag nämnde tidigare. Det låter också märkligt att `git-upload-pack` inte skulle finnas överhuvudtaget, om nu `git` finns. Kontrollera att det inte bara var något typo.

Det är inget typo och versionen är 1.7.8....

Skickades från m.sweclockers.com

Permalänk
Hedersmedlem

Tja, testa `ls /usr/local/bin/git*` och se vilka kommandon som finns där. 1.7.8 är inte purfärsk, men ej heller antik, så det borde nog inte vara något problem. Du kan även testa att köra

(IFS=:; for p in $PATH; do find $p -name 'git*'; done)

i en fjärrterminal (exakt som det står, inklusive paranteser) för att hitta alla `git`-relaterade binärer i sökvägen. Posta resultat om det verkar ge något intressant.

I övrigt så är det så pass många variabler inblandade med PuTTY via Windows, Sourcetree och tredjepartshosting att det inte är lätt att bena ut saker på distans när jag själv inte använder någotdera. Någon som har erfarenhet av Sourcetree kanske har bättre tips.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk

Denna tråd kan anses löst, då jag bytte webbhotell och där funkade det utan problem

Permalänk
Hedersmedlem
Skrivet av granskog1:

Denna tråd kan anses löst, då jag bytte webbhotell och där funkade det utan problem

OK, bra att det löste sig! Det verkar som att deras Git-installation inte var helt frisk, eller att den var tänkt att accessas på annat sätt. Möjligen/troligen hade det gått att lösa genom att manuellt fixa symlänkar och annat, men tja.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.