aboutsummaryrefslogtreecommitdiff
path: root/git-gui.sh
Commit message (Collapse)AuthorAge
* git-gui: fallback right pane to packed widgets with Tk 8.4Max Kirillov2014-01-18
| | | | | | | | | | | | | Since 918dbf58, git-gui crashes if started with Tk 8.4. The reason is that tk < 8.5 does not support -stretch option for panedwindow. Without the option it's not possible to properly expand the right half - the commit area is expanded, while desired behavior is to expand the diff area. So the whole feature should be disabled with Tk version less than 8.5. Signed-off-by: Max Kirillov <max@max630.net> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: add menu item to launch a bash shell on Windows.Pat Thoyts2013-09-12
| | | | | | | | | When using git-gui as the primary git application on Windows it can be awkward obtaining a suitable shell. This commit adds a menu item to the Repository menu that launches the bash shell provided with the git installation on Windows. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: corrected setup of git worktree under cygwin.John Murphy2013-09-06
| | | | | | | | | | Under cygwin the _gitworktree variable needs to contain the Windows style path string so the output provided by git rev-parse must be converted from cygwin path style to native. Reviewed-by: Jesse Welch <jesse.welch@baml.com> Signed-off-by: John Patrick Murphy <john.murphy@baml.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: right half window is panedMax Kirillov2013-08-27
| | | | | | | | For long descriptions it would be nice to be able to resize the comment text field. Signed-off-by: Max Kirillov <max@max630.net> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: Add gui.displayuntracked optionMax Kirillov2013-08-27
| | | | | | | | | | | | | | | | | | | When git is used to track only a subset of a directory, or there is no sure way to divide files to ignore from files to track, git user have to live with large number of untracked files. These files present in file list, and should always be scrolled through to handle real changes. Situation can become even worse, then number of the untracked files grows above the maxfilesdisplayed limit. In the case, even staged can be hidden by git-gui. This change introduces new configuration variable gui.displayuntracked, which, when set to false, instructs git-gui not to show untracked files in files list. They can be staged from commandline or other tools (like IDE of file manager), then they become visible. Default value of the option is true, which is compatible with current behavior. Signed-off-by: Max Kirillov <max@max630.net> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: show the maxrecentrepo config option in the preferences dialogPat Thoyts2013-08-27
| | | | Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: fix file name handling with non-empty prefixJohn Keeping2013-06-07
| | | | | | | | | | | | | | | | | | Commit e3d06ca (git-gui: Detect full path when parsing arguments - 2012-10-02) fixed the handling of absolute paths passed to the browser and blame subcommands by checking whether the file exists without the prefix before prepending the prefix and checking again. Since we have chdir'd to the top level of the working tree before doing this, this does not work if a file with the same name exists in a subdirectory and at the top level (for example Makefile in git.git's t/ directory). Instead of doing this, revert that patch and fix absolute path issue by using "file join" to prepend the prefix to the supplied path. This will correctly handle absolute paths by skipping the prefix in that case. Acked-by: Andrew Wong <andrew.kw.w@gmail.com> Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: bring wish process to front on MacStefan Haller2013-06-07
| | | | | | | | | | | | | | On Mac OS X, any application that is started from the Terminal will open behind all running applications; as a work-around, manually bring ourselves to the front. (Stolen from gitk, commit 76bf6ff93e.) We do this as the very first thing, so that any message boxes that might pop up during the rest of the startup sequence are actually seen by the user. [PT: added catch and moved down to ensure Tk has been loaded] Signed-off-by: Stefan Haller <stefan@haller-berlin.de> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: Fix parsing of <rev> <path-which-not-present-in-worktree>Kirill Smelkov2012-11-13
| | | | | | | | | | | | | | | | | Commit e3d06ca9 (git-gui: Detect full path when parsing arguments) broke git gui blame rev path-not-present-in-worktree in particular this does not work anymore: # in linux.git $ git gui blame 2bb8c26242c2393b097a993ffe9b003ec9b85395 drivers/net/sky2.c This patch restores the original functionality in this case. Acked-by: Andrew Wong <andrew.kw.w@gmail.com> Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: Don't prepend the prefix if value looks like a full pathAndrew Wong2012-10-17
| | | | | | | | | When argument parsing fails to detect a file name, "git-gui" will try to use the previously detected "head" as the file name. We should avoid prepending the prefix if "head" looks like a full path. Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: Detect full path when parsing argumentsAndrew Wong2012-10-17
| | | | | | | | | | | | | When running "git-gui blame" from a subfolder (which means prefix is non-empty), if we pass a full path as argument, the argument parsing will fail to recognize the argument as a file name, because prefix is prepended to the argument. This patch handles that scenario by adding an additional branch that checks the file name without using the prefix. Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: Fix semi-working shortcuts for unstage and revertVitaly _Vi Shukela2012-09-17
| | | | | | | | | | | | Make Ctrl+U for unstaging and Ctrl+J for reverting selection behave more like Ctrl+T for adding. They were working only when one area was focused (diff or commit message), now they should work everywhere. Acked-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Vitaly _Vi Shukela <vi0oss@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: preserve commit messages in utf-8Pat Thoyts2012-04-19
| | | | | | | | | | The commit message buffer is automatically preserved to a local file but this uses the system encoding which may fail to properly encode unicode text. Forcing this file to use utf-8 preserves the message correctly. Reported-by: Ángel José Riesgo <ajriesgo@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: open console when using --trace on windowsHeiko Voigt2012-03-25
| | | | | | | | | | When starting a gui program on windows stdout, stderr and stdin are not connected to the cmd console. As a workaround tk has a console window. Lets open this when the --trace commandline option has been given. This is helpful for debugging. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: handle shell script text filters when loading for blame.Pat Thoyts2011-12-09
| | | | | | | | | | | | | | When loading a file into the blame window git-gui does all the work and must handle the text conversion filters if defined. On Windows it is necessary to detect the need for a shell script explicitly. Such filter commands are run using non-blocking I/O but this has the unfortunate side effect of losing any error that might be reported when the pipe is closed. Switching to blocking mode just before closing enables reporting of errors in the filter scripts to the user. Tested-by: Sebastian Schuberth <sschuberth@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: Set both 16x16 and 32x32 icons on X to pacify Xming.Samuel Bronson2011-12-07
| | | | | | | | | It would be better if the 32x32 icon was equivalent to the one used on Windows (in git-gui.ico), but I'm not sure how that would best be done, so I copied this code from gitk instead. Signed-off-by: Samuel Bronson <naesten@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: added config gui.gcwarning to disable the gc hint messagePat Thoyts2011-11-30
| | | | | | | | | | On startup in multicommit mode git-gui checks to see if the repository has a lot of objects. If so it shows a dialog suggesting gc be run. This adds 'gui.gcwarning' as a control config variable to allow this to be disabled. The default is true (the warning is shown). Setting this false will prevent the check being done. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: add config value gui.diffopts for passing additional diff optionsTilman Vogel2011-11-05
| | | | | Signed-off-by: Tilman Vogel <tilman.vogel@web.de> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: support underline style when parsing diff outputPat Thoyts2011-11-04
| | | | | Suggested-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* Merge branch 'bw/searching'gitgui-0.15.0Pat Thoyts2011-10-19
|\
| * git-gui: handle config booleans without valueBert Wesarg2011-10-18
| | | | | | | | | | | | | | | | | | | | When git interprets a config variable without a value as bool it is considered as true. But git-gui doesn't so until yet. The value for boolean configs are also case-insensitive. Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* | git-gui: new config to control staging of untracked filesBert Wesarg2011-10-18
|/ | | | | | | The default is the current "ask". Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: fix multi selected file operationBert Wesarg2011-10-18
| | | | | | | | | | | | When staging a selection of files using Shift-Click to choose a range of files then using Ctrl-T or the Stage To Commit menu item will stage all the selected files. However if a non-sequential range is selected using Ctrl-Click then all but the first name selected gets staged. This commit fixes this to properly stage all selected files by explicitly adding the path to the list before showing the diff. Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* Fix typo: existant->existentDmitry Ivankov2011-07-11
| | | | | | | | | This typo was discovered in core git sources. Clean in it up in git-gui too. There is just one occurence in a comment line. Signed-off-by: Dmitry Ivankov <divanorama@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: warn when trying to commit on a detached headHeiko Voigt2011-05-20
| | | | | | | | | The commandline is already warning when checking out a detached head. Since the only thing thats potentially dangerous is to create commits on a detached head lets warn in case the user is about to do that. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: detect the use of MUI langauge packs on WindowsPat Thoyts2011-03-25
| | | | | | | | | | The Tcl msgcat package doesn't detect the use of a multi-lingual language pack on Windows 7. This means that a user may have their display language set to Japanese but the system installed langauge was English. This patch reads the relevent registry key to fix this before loading in the locale specific parts of git-gui. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: always default to the last merged branch in remote deleteHeiko Voigt2011-02-13
| | | | | | | | | | | | | | | This is useful if you are directly working together with other developers pushing feature branches on a shared remote. You typically push feature branches to the remote so others can review. Once they are satisfied and the branch is merged into the main branch it needs to be deleted on the server. Since we did not yet have a preselected default branch in the remote delete dialog lets use the last merged branch if it is found on the server. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: learn more type change statesBert Wesarg2011-01-28
| | | | | | | Support the following states with type change in git-gui: AT, MT, TD, TM Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: fix typo in image dataBert Wesarg2011-01-28
| | | | | Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: use --exclude-standard to check for untracked filesStefan Naewe2010-12-10
| | | | | | | | | | This fixes git-gui failing to display untracked files that are listed if core.excludefiles is set to ~/.gitexcludes [PT: added expansion of core.excludesfile value by tcl] Signed-off-by: Stefan Naewe <stefan.naewe@googlemail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: Fix use of hunk tag for non-hunk content.Bert Wesarg2010-12-06
| | | | | | | | | | | | The hunk tag d_@ lost its blue forground color in "apply color information from git diff output" (2010-10-22, 8f85599). But this tag was also used for non-hunk content like untracked file mime types or git submodules. Introduce a new tag for this type of content which has the blue forground again. Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: respect conflict marker sizeBert Wesarg2010-11-19
| | | | | | | | | | Respect the conflict-marker-size attribute on paths when detecting merge conflicts. [PT: fixed problem with variable substitution in the regexps] Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: apply color information from git diff outputPat Thoyts2010-10-27
| | | | | | | | | | | | | | | This patch extracts the ANSI color sequences from git diff output and applies these to the diff view window. This ensures that the gui view makes use of the current git configuration for whitespace display. ANSI codes may include attributes, foreground and background in a single sequence. Handle this and support bold and reverse attributes. Ignore all other attributes. Suggested-by: Tor Arvid Lund <torarvid@gmail.com> Suggested-by: Junio C Hamano <gitster@pobox.com> Tested-by: Tor Arvid Lund <torarvid@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: use wordprocessor tab style to ensure tabs work as expectedPat Thoyts2010-10-27
| | | | | | | | | | The Tk text widget tab style is tabular where the first tab will align to the first tabstop and if that position is left of the current location then just a single character space is used. With the wordprocessor style a tab moves the next character position to the next rightmost tabstop as expected for viewing code. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: correct assignment of work-treePat Thoyts2010-10-20
| | | | | | | | | | | | | | | git-gui currently uses its own logic to determine the work-tree setting but 'git rev-parse --toplevel' directly returns git's work-tree value by calling get_git_work_tree() and is therefore always correct. This fixes an inability to handle some repository configurations. In particular where .git is a file containing a path to the real directory (a cross-platform symbolic link). To continue to support older versions than 1.7.0, setting the work-tree by normalizing the --show-cdup value is more reliable as git-dir might be outside the work-tree entirely. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: generic version trimmingPat Thoyts2010-10-07
| | | | | | | | | | Rather than attempting to trim off all the non-version number suffixes from the 'git version' result, let us scan along from the beginning until we find a non-numeric part and stop there. Any such dot-version number will be compatible with the Tcl package version comparison command which is the aim of this code. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: enable the Tk console when tracing/debugging on WindowsPat Thoyts2010-10-05
| | | | | | | | Without any standard channels the trace option is pretty useless on Win32 unless you can show the Tk console which captures such output. This also permits introspection of the running application to assist in debugging. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: show command-line errors in a messagebox on WindowsPat Thoyts2010-10-05
| | | | Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* On Windows, avoid git-gui to call Cygwin's nice utilitySebastian Schuberth2010-10-05
| | | | | | | | | | | | | | | | | It's a common case for Windows developers to have both Cygwin and msysGit installed. Unfortunately, some scenarios also require to have Cygwin in PATH. By default, Cygwin comes with nice.exe, while msysGit does not. Since git-gui calls nice if it is in PATH, this results in Cygwin's nice.exe being called from msysGit's git-gui. Mixing Cygwin and msysGit generally is not a good idea, and in this particular case it causes differences not being correctly detected. So we only call nice.exe on Windows if it is in the same directory as git.exe. This way, this work-around does neither affect a pure Cygwin environment, or the case when nice.exe will be shipped with msysGit at some point in time. This fixes msysGit issue 394. Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: avoid mis-encoding the copyright message on Windows.Pat Thoyts2010-09-13
| | | | | | | | On Windows the tcl script file will use the system encoding and attempting to convert the copyright mis-encodes the string. Instead, keep the message as ASCII and substitute in the correct unicode character when running. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: handle textconv filter on Windows and in developmentPat Thoyts2010-08-12
| | | | | | | | | | | When developing/testing we run git-gui.sh directly and the makefile configured variables are not properly set. Configure the new shellpath accessor to handle this case. On Windows we may not find the shell so in this case revert to simply executing the filter command without the shell intermediate. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: use shell to launch textconv filter in "blame"Matthieu Moy2010-08-12
| | | | | | | | | | The textconv filters may include multiple arguments and may make use of unix shell features. To maintain compatibility with 'git blame' ensure these commands are passed through bash. Reported-by: Kirill Smelkov <kirr@landau.phys.spbu.ru> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: display error launching blame as a message box.Pat Thoyts2010-08-08
| | | | | | | This does not appear to Windows users and can follow the form of the fatal error messages near the top of the script file. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: Make usage statement visible on Windows.Pat Thoyts2010-08-08
| | | | | | | | On Windows stdout and stderr are not connected to anything so the usage statement is never shown to the user when an error is made with a command line like 'git gui browser'. Use a messagebox on windows. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: fix size and position of window panes on startupPat Thoyts2010-08-02
| | | | | | | | | The themed panedwindow needs to have the sash position set after the widget has been mapped therefore apply this setting in the Map event binding. To avoid visible redraws as the application is constructed the main window should be withdrawn until all the widgets have been added Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: mc cannot be used before msgcat has been loadedPat Thoyts2010-08-02
| | | | | | | If someone attempts to use an older version that Tk 8.4 the error was masked by the lack of a mc command. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: use textconv filter for diff and blameClément Poulain2010-07-30
| | | | | | | | | | | | Create a checkbox "Use Textconv For Diffs and Blame" in git-gui options. If checked and if the driver for the concerned file exists, git-gui calls diff and blame with --textconv option Signed-off-by: Clément Poulain <clement.poulain@ensimag.imag.fr> Signed-off-by: Diane Gasselin <diane.gasselin@ensimag.imag.fr> Signed-off-by: Axel Bonnet <axel.bonnet@ensimag.imag.fr> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: fix "Explore Working Copy" for Windows againMarkus Heidelberg2010-07-30
| | | | | | | | | | | | | | It has already been fixed in commit 454efb47 (git-gui (Win): make "Explore Working Copy" more robust, 2009-04-01), but has been broken in commit 21985a11 (git-gui: handle non-standard worktree locations, 2010-01-23) by accidentally replacing too much with a new variable. The problem can be reproduced when starting git-gui from within a subdirectory. The solution is to convert the path name, explorer.exe is invoked with, to a platform native name. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* git-gui: Handle failure of core.worktree to identify the working directory.Pat Thoyts2010-07-10
| | | | | | | | | | Commit 21985a11 'git-gui: handle non-standard worktree locations' attempts to use either GIT_WORK_TREE or core.worktree to set the _gitworktree variable but these may not be set which leads to a failure to launch gitk to review history. Use _gitdir to set the location for a standard git layout where the parent of the .git directory is the working tree. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
* Merge branch 'maint'Shawn O. Pearce2010-02-08
|\ | | | | | | | | * maint: git-gui: check whether systems nice command works or disable it