web-dev-qa-db-fra.com

Comment obtenir Git 1.8 dans Cygwin?

Selon http://cygwin.com/packages/git/ le dernier package Cygwin disponible est 1.7.9-1.

Je voudrais mettre à jour git au moins 1.8.0.

Puis-je faire ceci?

41
mnaoumov

À installer git 1.8.0 vous devez compiler le code source.

Vous devez cloner le référentiel git (git clone https://github.com/git/git.git), entrez dans le répertoire git, changez la version actuelle en 1.8.0 ou une autre version de votre choix (git checkout v.1.8.0) et tapez les commandes suivantes:

make configure
./configure --prefix=/usr/local
make
make install

Il installera git sous /usr/local répertoire. Pour plus d'informations sur l'installation de git, comme la documentation, vous pouvez consulter le fichier INSTALL localisé à la racine du référentiel git.

29

cygwinports a de nombreuses nouvelles versions de divers outils

Au moment où j'écris ceci, il y a 1.8.3.4

Nouvelles instructions d'installation simplifiées:

  • Utilisez les derniers programmes d'installation Cygwin (au moins la version 2.829): setup-x86.exe pour 32 bits ou setup-x86_64.exe pour 64 bits. (Notez que de nombreux packages n'ont pas encore été portés sur x86_64.)
  • Lancer la configuration - *. Exe avec le drapeau -K, par exemple:

    cygstart - /path/to/setup-x86.exe -K http://cygwinports.org/ports.gpg

  • Sur la page Choisir le type d'installation, sélectionnez "Installer à partir d'Internet".

  • Sur la page Choisir le (s) site (s) de téléchargement, sélectionnez un miroir de distribution, puis entrez ftp://ftp.cygwinports.org/pub/cygwinports dans le champ URL utilisateur et appuyez sur Ajouter (en vous assurant que les deux sont Souligné).
    1. Alternativement, vous pouvez utiliser un miroir de sourceware, mais si vous le faites, vous devez en utiliser un hébergé sur un serveur différent de votre miroir de distribution sélectionné.
  • Procédez à la sélection et à l'installation du package, en veillant à installer toutes les dépendances indiquées.
46
RedX

J'ai installé avec succès git 1.8.4.474 en suivant ces instructions ; J'utilise Windows 7 64 bits, cygwin version 1.7.22 (0.268/5/3)

  1. Exécutez l'utilitaire de configuration Cygwin et assurez-vous que les packages suivants sont installés:

    gcc
    autoconf
    curl
    libcurl-devel, required for http/https support 
                   (NOTE: this is an obsolete package, you will need to
                   uncheck "Hide obsolete packages" when selecting packages
                   to install)
    make
    libiconv
    python
    Perl
    gettext
    

    Vous pourriez avoir besoin de libiconv-devel et cygwin32-liviconv (voir le commentaire de Marek)

  2. Clonez les sources Git avec git clone https://github.com/git/git.git . Quelques notes à ce sujet en ce qui concerne la configuration de Git:

    Assurez-vous que core.autocrlf=false, Sinon vous vous retrouverez avec des fins de ligne de style DOS qui provoqueront la rupture de la construction.

    J'avais également une valeur de propriété http.sslcainfo Vissée; désélectionnez-le ou pointez-le sur /usr/ssl/certs/ca-bundle.crt.

  3. Depuis votre dépôt git nouvellement cloné, exécutez les commandes suivantes:

    make configure
    ./configure
    make
    make install
    
7
Azif

Vos instructions n'ont pas vraiment fonctionné pour moi ...

J'ai suivi ces instructions (pour m'assurer que tous les packages corrects sont installés)

http://randomartifacts.blogspot.com/2013/04/compiling-git-on-cygwin.html

Modification du Makefile

$ git diff Makefile
diff --git a/Makefile b/Makefile
index 3588ca1..90f337c 100644
--- a/Makefile
+++ b/Makefile
@@ -407,7 +407,7 @@ RPMBUILD = rpmbuild
 TCL_PATH = tclsh
 TCLTK_PATH = wish
 XGETTEXT = xgettext
-MSGFMT = msgfmt
+MSGFMT = msgfmt.py
 PTHREAD_LIBS = -lpthread
 PTHREAD_CFLAGS =
 GCOV = gcov

puis

make configure NO_MSGFMT_EXTENDED_OPTIONS=1
./configure
make NO_MSGFMT_EXTENDED_OPTIONS=1
make install NO_MSGFMT_EXTENDED_OPTIONS=1

Je ne sais pas si le paramètre est nécessaire pour toutes les commandes make, mais cela a fonctionné pour moi

3
Reverse Tarzan

J'ai eu un problème en faisant "make install". Le message d'erreur est:

install -d -m 755 '/ usr/local/bin'
git: 'installation' n'est pas une commande git. Voir 'git --help'.
./ install: ligne 4: Normalement: commande introuvable
./ install: ligne 5: volonté: commande introuvable
./ install: ligne 6: à: commande introuvable
./ install: ligne 8: $: commande introuvable
./ install: ligne 11: erreur de syntaxe près du jeton inattendu .'
./install: line 11:
(ou préfixe =/usr/local, bien sûr). Comme toute suite de programmes "

Cela est dû à l'insensibilité à la casse du système d'exploitation Windows si vous avez "./" dans votre CHEMIN. Cygwin utilise le fichier INSTALL dans l'arborescence source de git au lieu de/usr/bin/install. Nous devons renommer certains fichiers "INSTALLER" dans l'arborescence source en un autre nom de fichier. Ceci est mentionné par http://zengrong.net/post/1817.htm

2
Yorkwar

J'ai eu un problème en faisant cela qui m'a pris une heure pour déboguer, alors je poste une réponse au cas où quelqu'un d'autre viendrait ici à la recherche.

En fait, c'est la même cause que celle de Yorkwar, mais des erreurs différentes.

Tout va bien jusqu'à make install les sorties:

$ make install
    GEN Perl/PM.stamp
    SUBDIR gitweb
    SUBDIR ../
make[2]: 'GIT-VERSION-FILE' is up to date.
    GEN git-instaweb
    BUILTIN all
    SUBDIR git-gui
    SUBDIR gitk-git
    SUBDIR Perl
    SUBDIR templates
install -d -m 755 '/usr/local/bin'
make: execvp: install: Permission denied
Makefile:2342: recipe for target 'install' failed
make: *** [install] Error 127

Après beaucoup de nettoyage avec UAC, setuid, icacls, propriété, etc., j'ai trouvé via strace que le problème réel est que lors de l'exécution de install: puisque j'ai ./ dans mon PATH, et Windows ne respecte pas la casse, il essaie d'exécuter INSTALL, qui est un fichier texte qui n'a pas le bit x défini. La "permission refusée" fait donc référence au fait que x n'est pas défini sur ce fichier.

@Yorkwar a corrigé cela en renommant tous les fichiers INSTALL, mais une autre option consiste à modifier Makefile et à remplacer

INSTALL = install

avec

INSTALL = /usr/bin/install

J'utilise cygwin 32 bits dans Windows 7 64 bits (installé avant la sortie de cygwin64 et je n'ai pas pris la peine de mettre à niveau). Généré et installé avec succès git version 2.0.0.rc4.dirty qui était le résultat de git clone https://github.com/git/git.git.

1
M.M