嘿,我已经关注了回答解决在 Cygwin 下运行 GUI 应用程序的问题。到目前为止似乎还不错,但是当我尝试打开时,gitk
它会抱怨它在这里找不到任何 git 存储库。虽然我站在正确的文件夹中,并且从控制台运行 git 它可以工作(我可以推送、拉取等等)但 gitk 不会启动,因为它说这里没有任何 git 存储库。
谁知道怎么修它?
我在控制台中输入以下内容。gitk
我得到的输出是:
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)
答案1
这里的问题是 fork 失败:Subversion 试图 fork 一个新进程,而 Windows 加载新进程时使用的内存布局却出乎意料。这是 Cygwin 试图解决的基本问题之一:Linux 程序希望在生成新进程时,新进程的内存布局与旧进程相同;而 Windows 会在启动新进程时主动更改内存布局。
简而言之,您需要执行以下操作:
- 退出所有 Cygwin 进程。这意味着关闭所有 MinTTY 窗口、退出正在运行的所有 X 服务器等。
- 转到开始 > 运行(或按Win+ R),然后运行
C:\cygwin\bin\dash
。 - 在出现的窗口中,键入
/bin/rebaseall
并点击Return。 - 去给自己泡杯咖啡吧。