Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docs:git:git_on_windows [2012/02/13 20:22] billhdocs:git:git_on_windows [2012/09/14 12:47] (current) – [git gui and gitk on cygwin] billh
Line 3: Line 3:
  
 ===== git gui and gitk on cygwin ===== ===== git gui and gitk on cygwin =====
-Ever since day one with git, I've been using the two most powerful front-ends (git gui and gitk) along with the command line.  No matter how fast anyone things they are with the command line, these two tools do several things faster and more efficiently, and any other gui I've tested is certainly a compromise.  Much to my chagrin, early in 2012, the maintainers of the tcl/tk package of cygwin pushed out a version of this toolkit that requires an X server.  Prior to this, you could easily run cygwin with a good shell such as rxvt, and kick off the two most powerful and utilized gui's for git using the native windows calls for drawing (fast, low overhead).  Now you are being forced to start a complete X server to get either of these to work.  Command line git will work fine, but not the gui's.  I understand and appreciate the efforts of the free software developers, but this one really stinks.+Ever since day one with git, I've been using the two most powerful front-ends (git gui and gitk) along with the command line.  No matter how fast anyone thinks they are with the command line, these two tools do several things faster and more efficiently, and any other gui I've tested is certainly a compromise.  Much to my chagrin, early in 2012, the maintainers of the tcl/tk package of cygwin pushed out a version of this toolkit that requires an X server.  Prior to this, you could easily run cygwin with a good shell such as rxvt, and kick off the two most powerful and utilized gui's for git using the native windows calls for drawing (fast, low overhead).  Now you are being forced to start a complete X server to get either of these to work.  Command line git will work fine, but not the gui's.  I understand and appreciate the efforts of the free software developers, but this one really stinks.
  
 Anyway, I've come up with a solution that works well and does NOT use an X server.  The description of this may sound like a hassle or kludge, but rest assured it works well and is fast.  My solution is to install msysgit and use aliases to kick off the gui's.  I already had msysgit because of TortoiseGit, and I already used aliases anyway because I launch the programs maybe 25 to 100 times every day.  Why not just use msysgit?  Because I need the full suite of unix tools provided by cygwin; it is only the tcl/tk stuff that is causing me issues right now. Anyway, I've come up with a solution that works well and does NOT use an X server.  The description of this may sound like a hassle or kludge, but rest assured it works well and is fast.  My solution is to install msysgit and use aliases to kick off the gui's.  I already had msysgit because of TortoiseGit, and I already used aliases anyway because I launch the programs maybe 25 to 100 times every day.  Why not just use msysgit?  Because I need the full suite of unix tools provided by cygwin; it is only the tcl/tk stuff that is causing me issues right now.
Line 11: Line 11:
 # tcl/tk to be ran on an X windows server, so these gui aliases are now # tcl/tk to be ran on an X windows server, so these gui aliases are now
 # kickstarting TortoiseGit and msysgit programs instead # kickstarting TortoiseGit and msysgit programs instead
-# Cygwin git (used to work fine)+# Cygwin git
 #alias gg='git gui&' #alias gg='git gui&'
 #alias gk='gitk&' #alias gk='gitk&'
- + 
 +# Cygwin git / msysgit hybrid (checks if x server is available) 
 +alias gg="([ \"\$(ps|grep XWin)\" ] && git gui || mgg)&" 
 +alias gk="([ \"\$(ps|grep XWin)\" ] && gitk || mgk)&" 
 +alias gka="([ \"\$(ps|grep XWin)\" ] && gitk || mgk --all)&" 
 #TortoiseGit #TortoiseGit
 alias tgg="/cygdrive/c/Program\ Files/TortoiseGit/bin/TortoiseProc.exe /command:repostatus /path:\"\`cygpath -m -a .\`\" &" alias tgg="/cygdrive/c/Program\ Files/TortoiseGit/bin/TortoiseProc.exe /command:repostatus /path:\"\`cygpath -m -a .\`\" &"
 alias tgk="/cygdrive/c/Program\ Files/TortoiseGit/bin/TortoiseProc.exe /command:log /path:\"\`cygpath -m -a .\`\" &" alias tgk="/cygdrive/c/Program\ Files/TortoiseGit/bin/TortoiseProc.exe /command:log /path:\"\`cygpath -m -a .\`\" &"
- +
 #msysgit #msysgit
-alias gg="/cygdrive/c/Program\ Files\ \(x86\)/Git/bin/git gui &+alias mgg="/cygdrive/c/Program\ Files\ \(x86\)/Git/bin/git gui" 
-alias gk="/cygdrive/c/Program\ Files\ \(x86\)/Git/bin/wish.exe \"C:/Program Files (x86)/Git/bin/gitk\" &"+alias mgk="/cygdrive/c/Program\ Files\ \(x86\)/Git/bin/wish.exe \"C:/Program Files (x86)/Git/bin/gitk\""
 </code> </code>
  
  • docs/git/git_on_windows.1329189767.txt.gz
  • Last modified: 2012/02/13 20:22
  • by billh