Hey, j'ai suivi cette réponse pour résoudre le problème avec les applications graphiques sous Cygwin. Jusqu'ici, cela semble aller, mais lorsque j'essaye d'ouvrir, gitk
il se plaint de ne pouvoir trouver aucun référentiel git ici. Cependant, je suis dans le bon dossier et je lance git à partir de la console (je peux pousser, tirer, etc.), mais gitk ne démarre pas car il ne s'agit pas d'un référentiel git ici.
Quelqu'un sait comment réparer ça?
Je tape ce qui suit à la console. gitk
Et le résultat que je reçois est:
0 [main] wish8.5 2260 child_info_fork::abort: C:\cygwin\bin\libtcl8.5.dll: Loaded to different address: parent(0x520000) != child(0x410000)
0 [main] wish8.5 4332 child_info_fork::abort: C:\cygwin\bin\libtcl8.5.dll: Loaded to different address: parent(0x520000) != child(0x560000)
0 [main] wish8.5 4716 child_info_fork::abort: C:\cygwin\bin\libtcl8.5.dll: Loaded to different address: parent(0x520000) != child(0x410000)
0 [main] wish8.5 4724 child_info_fork::abort: C:\cygwin\bin\libtcl8.5.dll: Loaded to different address: parent(0x520000) != child(0x410000)
type gitk
,type git
etgit rev-parse --show-toplevel
?gitk
. Les deux autres commandesgit
donnent différentes options sur l'utilisation de git. Etgit rev-parse --show-toplevel
n'imprimez que l'emplacement actuel du répertoire dans lequel se trouve mon référentiel git.type gitk
ettype git
de la console, mais cette sortie d'erreur était suffisante pour comprendre ce qui se passait. Pour demander de l'aide à l'avenir, il est très utile d'inclure une telle erreur dans la question!Réponses:
Le problème ici est un échec de type fork: Subversion tente de créer un nouveau processus et Windows charge le nouveau processus avec une structure de mémoire inattendue. Cygwin tente de résoudre ce problème fondamental: les programmes Linux s’attendent à ce que lors de la création d’un nouveau processus, le nouveau processus ait la même structure de mémoire que l’ancien; Windows modifie activement la structure de la mémoire chaque fois qu'un nouveau processus est démarré.
La solution documentée se trouve dans la FAQ Cygwin .
La version courte est que vous devez faire ce qui suit:
C:\cygwin\bin\dash
./bin/rebaseall
et appuyez sur Return.la source
dash
tant qu'administrateur, et le type ,/usr/bin/rebaseall -v
mais votre réponse m'a aidé à chercher le bon chemin pour résoudre le problème;)-v
option n'est pas nécessaire, cela signifie simplement que le script imprimera ce qu'il fera à l'écran au fur et à mesure.