Donnerstag, 17. Mai 2012

Fehler bei “git clone” über http “cannot spawn git….”

Die genaue Fehlermeldung lautet: “error: cannot spawn git: No such file or directory”.

Dieser Fehler tritt scheinbar ausschließlich beim Clonen von großen Repositorien über eine http(s) Verbindung auf.

Nach Recherchen in diversen Foren und auf den Buglisten scheint der Grund dafür ein intern generierter Programmaufruf von “git fetch-pack” zu sein. Bei zu vielen Revisionen wird die maximale Länge des Befehls (OS bedingte Begrenzung) überschritten und der Aufruf schlägt fehl.

Lösung:

aktuell keine (Stand 05/2012)

die Git - Entwickler arbeiten aber an einer Umsetzung (siehe Git Dev Mail List in 03/2012 -  http://git.661346.n2.nabble.com/)

 

Technorati-Markierungen: ,,,,

Freitag, 20. April 2012

HowTo GitHub = Git Bash + PuTTY

Auf meinem System habe ich Putty für eine Remote Shell per SSH installiert. Außerdem läuft auch WinSCP für den sicheren Dateitransfer.

Nachdem ich lange mit GitHub über TortoiseGit gearbeitet habe, konnte mich ein Kollege überzeugen bisher verborgenen Features unter Zuhilfenahme der Git Bash zu nutzen.

Auch die Möglichkeit der Authentifizierung per RSA KeyPair wollte ich nutzen.

Die Installation der Git Bash (mSysGit) von http://code.google.com/p/msysgit/ war Problemlos möglich.

Auch das lokale Arbeiten funktioniert einwandfrei. Selbst in Verbindung mit Tortoise als auch der Visual Studio 2010 Extension “Git Source Control Provider” (http://visualstudiogallery.msdn.microsoft.com/63a7e40d-4d71-4fbb-a23b-d262124b8f4c?SRC=VSIDE) gibt es keine Probleme.

Probleme macht jedoch das Abrufen von Repositorys oder das Pushen von Updates bei Verwendung der SSH.

Zum Beispiel schlägt folgender Befehl fehl:

git clone git@github.com:blndev/progit.git

Die Fehlermeldung lautet: “No supported authentication methods available (server sent: publickey)”

gitbash_error

Folgendes habe ich vorher getan:

Alle Einstellungen während des ablaufenden Prozesses wurden im Standard belassen. Durch diesen Befehl wurde ein Verzeichnis “.ssh” unter %userprofile% erzeugt. In diesem liegen folgende Dateien:

  • id_rsa
  • id_rsa.pub

Die Datei id_rsa.pub habe ich im Notepad geöffnet und den Text komplett kopiert. Dieser Text wurde dann bei GitHub als Key eingetragen.

Eine Testverbindung mittels:

war erfolgreich.

Außerdem habe ich in die globale Konfiguration meinen Benutzernamen und die bei GitHub registrierte Email eingetragen. So muss ich dies nicht für jedes Projekt einzeln angeben.

  • git config --global user.name "Firstname Lastname"
  • git config --global user.email “your_email@youremail.com”

 

Viele Tipps haben leider nicht geholfen. Auch nicht das Entfernen folgenden Registry Keys:

“HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Default Settings”

Nach vielen Recherchen und einigem probieren schien Putty das Problem zu verursachen.

Dies führte mich zu folgender Lösung:

1. Start von puttygen.exe (über GitBash)

puttygen

Nun muss ein Key generiert werden.

Der private Schlüssel muss als PPK gespeichert werden.

Nun muss im Menüpunkt “Conversions” der Punkt “Export Open SSH Key” gewählt werden. Die Datei wird unter %userprofile%\.ssh\id_rsa gespeichert.

Als nächstes wird die Option “Save public key” gewählt und die Datei unter 
%userprofile%\.ssh\id_rsa.pub abgelegt

Nachdem dies erledigt ist muss der Public Key wieder bei GitHub registriert werden.

Ein Test mit “ssh –T git@github.com” sollte erfolgreich sein.

Nun wird der Putty Authentication Agent über die Git Bash wie folgt gestartet:

pageant&

Dieses Tool erscheint im System Tray als Icon und muss von dort per Doppelklick hervorgeholt werden.

pageant

Hier wird nun per “Add Key” der zuvor gespeicherte Private Key (*.ppk) geladen.

Ist das geschehen kann das Tool wieder minimiert werden (close).

Jetzt sollte einer Verwendung von GitBash (msysgit) über Putty auf GitHub nichts mehr entgegen stehen.

Happy Coding

Technorati-Markierungen: ,,,,,

Donnerstag, 29. März 2012

Windows 7 – Servicepack Dateien sicher entfernen

Auf Rechnern bei denen der freie Speicherplatz auf der Systempartition zur neige geht findet sich schnell ein potentieller “Speicherplatzverschwender”.

Der Ordner Winsxs im Windows – Verzeichnis ist häufig mehrere Gigabyte groß.

In diesem Ordner speichert Windows verschiedene Versionen von Dll’s um die Systemstabilität für alle Anwendungen zu gewährleisten.

Ein manuelles Aufräumen ist eher nicht angebracht.

Mit folgendem Befehl kann man aber zumindest alte Systemdateien entfernen lassen:

DISM.exe /Online /Cleanup-Image /spsuperseded

Auf meinem System schaffte die Ausführung dieses Kommandos ca. 2 GB zusätzlichen Speicher.

Noch ein wenig mehr Speicherplatz kann freigeschaufelt werden indem die Sicherungsdateien des ServicePack entfernt werden.

Dies geschieht indem man im Arbeitsplatz (Computer) mit der rechten Maustaste auf die Systempartition klickt. Dann die Option “Bereinigen” auswählt. im nun erscheinenden Dialog muss unten links auf “Systembereinigung” geklickt werden. Der Dialog wird nun mit zusätzlichen zu löschenden Dateien befüllt. Eine der neuen Optionen ist “Service Pack Sicherungsdateien”.

Achtung: nachdem die Sicherungsdateien entfernt wurden ist es nicht mehr möglich das Servicepack zu deinstallieren.

Dienstag, 28. Februar 2012

Nach autoruns.exe keine CD / DVD Laufwerke mehr?

Nach einem gründlichen CleanUp des Systemstarts mit dem Tool “autoruns” von Sysinternals / Microsoft fehlten bei mir alle CD- / DVD Laufwerke im System.

Der Gerätemanager zeigt an das zwar Treiber installiert sind, diese aber nicht initialisiert werden können. Auch ein Update der Treiber führte nicht zur Lösung. Ein Zugriff auf die Laufwerke blieb unmöglich. Dabei sind sogar virtuelle DVD Laufwerke wie die der Daemon-Tools betroffen.

Abhilfe schaffte bei mir eine Bearbeitung der Registry.

Unter: “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}”

Folgende Einträge löschen: “Upperfilters” und “Lowerfilters”.

Nach einem Neustart waren alle Laufwerke wieder verfügbar.

Donnerstag, 5. Januar 2012

Office 365 - Lync 2010 Windows Phone & Android

Um Lync 2010 aus dem Office 365 auf dem mobilen Gerät nutzten zu können, muss das Autodiscover korrekt eingerichtet sein. Alternativ gibt es die Möglichkeit in den Einstellungen auf die Manuelle Konfiguration zu wechseln und als externen Server folgende URL einzutragen: https://meet.lync.com/Autodiscover/autodiscoverservice.svc/Root