Cygwin ne démarre pas Gitk

0

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, gitkil 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)
Starcorn
la source
1
Pouvez-vous montrer ce que vous tapez dans la console? Et quelle est la sortie de type gitk, type gitet git rev-parse --show-toplevel?
me_and et
@me_and désolé, j'ai posté le résultat obtenu en tapant gitk. Les deux autres commandes gitdonnent différentes options sur l'utilisation de git. Et git rev-parse --show-topleveln'imprimez que l'emplacement actuel du répertoire dans lequel se trouve mon référentiel git.
Starcorn
Je parlais de la sortie littérale de l'exécution type gitket type gitde 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!
me_and et

Réponses:

1

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:

  • Quittez tous vos processus Cygwin. Cela signifie que vous fermez toutes vos fenêtres MinTTY, tous les serveurs X que vous utilisez, etc.
  • Allez dans Démarrer> Exécuter (ou appuyez sur Win+ R), puis exécutez C:\cygwin\bin\dash.
  • Dans la fenêtre qui apparaît, tapez /bin/rebaseallet appuyez sur Return.
  • Va te faire un café.
moi et
la source
Cool, je devais ouvrir en dashtant qu'administrateur, et le type , /usr/bin/rebaseall -vmais votre réponse m'a aidé à chercher le bon chemin pour résoudre le problème;)
starcorn
Oui, vous devrez être administrateur. L' -voption n'est pas nécessaire, cela signifie simplement que le script imprimera ce qu'il fera à l'écran au fur et à mesure.
me_and