AgeCommit message (Collapse)Author
2015-04-18git-gui: set version 0.20gitgui-0.20.0Pat Thoyts
Signed-off-by: Pat Thoyts <>
2015-04-18git-gui: sv.po: Update Swedish translation (547t0f0u)Peter Krefting
Signed-off-by: Peter Krefting <> Signed-off-by: Pat Thoyts <>
2015-04-18git-gui i18n: Updated Bulgarian translation (547t,0f,0u)Alexander Shopov
Signed-off-by: Alexander Shopov <> Signed-off-by: Pat Thoyts <>
2015-03-07git-gui: Makes chooser set 'gitdir' to the resolved pathRemi Rampin
If _is_git follows a "gitdir: ..." file link to get to the actual repository, we want _gitdir to be set to that final path. Signed-off-by: Chris Packham <> Signed-off-by: Remi Rampin <> Signed-off-by: Pat Thoyts <>
2015-03-07git-gui: Fixes chooser not accepting gitfilesRemi Rampin
Support the case where .git is a platform independent symbolic link and not a directory. This occurs when --separate-git-dir is used when creating the local repository to store the .git directory elsewhere. git-gui does not support such repositories when using the repository chooser as the test to determine that the chosen directory is a git repository fails for such repositories. This commit enables _is_git to read the real location from the symbolic link file. Signed-off-by: Chris Packham <> Signed-off-by: Remi Rampin <> Signed-off-by: Pat Thoyts <>
2015-01-13git-gui: reinstate support for Tcl 8.4Kyle J. McKay
Tcl 8.5 introduced an extended vsatisfies syntax that is not supported by Tcl 8.4. Since only Tcl 8.4 is required this presents a problem. The extended syntax was used starting with Git 2.0.0 in commit b3f0c5c0 (git-gui: tolerate major version changes when comparing the git version, 2014-05-17), so that a major version change would still satisfy the condition. However, what we really want is just a basic version compare, so use vcompare instead to restore compatibility with Tcl 8.4. Signed-off-by: Kyle J. McKay <> Signed-off-by: Junio C Hamano <> Signed-off-by: Pat Thoyts <>
2015-01-05git-gui: fix problem with gui.maxfilesdisplayedCsaba Kiraly
gui.maxfilesdisplayed (added in dd6451f9c7c5a36d3006231b618ac6da06c7c7b4) was applied brute force on the file list in alphabetic order. As a result, files that had modifications might not be displayed by git-gui. Even worse, files that are already in the index might not be displayed, which makes git-gui hard to use in some workflows. This fix changes the meaning of gui.maxfilesdisplayed, making it a soft limit that only applies to "_O" files, i.e. files that are "Untracked, not staged". Signed-off-by: Csaba Kiraly <> Signed-off-by: Pat Thoyts <>
2014-11-07git-gui: fix verbose loading when git path contains spaces.Pat Thoyts
After setting GITGUI_VERBOSE to enable load tracing the source command is redefined but fails if the git installation path has spaces. Fixed quoting by using lists to handle the arguments. Signed-off-by: Pat Thoyts <>
2014-11-06git-gui/gitk: Do not depend on Cygwin's "kill" command on WindowsSebastian Schuberth
Windows does not necessarily mean Cygwin, it could also be MSYS. The latter ships with a version of "kill" that does not understand "-f". In msysgit this was addressed shipping Cygwin's version of kill. Properly fix this by using the stock Windows "taskkill" command instead, which is available since Windows XP Professional. Signed-off-by: Sebastian Schuberth <> Signed-off-by: Pat Thoyts <>
2014-10-06git-gui: add configurable tab size to the diff viewMichael Lutz
For Tk 8.5 the "wordprocessor" mode allows us to get a bit fancy for merge diffs and intend the tabs by one to compensate for the additional diff marker at the line start. The code is heavily based on how gitk handles tabs. Signed-off-by: Michael Lutz <> Signed-off-by: Pat Thoyts <>
2014-08-10git-gui: Make git-gui lib dir configurable at runimeDavid Turner
Introduce the GIT_GUI_LIB_DIR environment variable, to tell git-gui where to look for TCL libs. This allows a git-gui which has been built with a prefix of /foo to be run out of directory /bar. This is the equivalent of GIT_EXEC_PATH or GITPERLLIB but for git-gui's TCL libraries. Signed-off-by: David Turner <> Signed-off-by: Pat Thoyts <>
2014-08-10git-gui i18n: Updated Bulgarian translation (520t,0f,0u)Alexander Shopov
Signed-off-by: Alexander Shopov <> Signed-off-by: Pat Thoyts <>
2014-06-29Merge remote-tracking branch 'vnwildman/master'Pat Thoyts
2014-06-28L10n: vi.po (543t): Init translation for VietnameseTrần Ngọc Quân
* Pickup pot file then msginit from it Signed-off-by: Trần Ngọc Quân <>
2014-06-13git-gui: align the new recursive checkbox with the radiobuttons.Pat Thoyts
Signed-off-by: Pat Thoyts <>
2014-06-13git-gui: Add a 'recursive' checkbox in the clone menu.Henri GEIST
Permit to do a 'git clone --recursive' through git-gui. Add a 'recursive' checkbox in the clone menu which allows users to clone a repository and all its submodules in one go (unless the 'update' flag is set to "none" in the .gitmodules file for a submodule, in that case that specific submodule is not cloned automatically). Enable this new option per default, as most users want to clone all submodules too when cloning the superproject (This is currently not possible without leaving git gui or adding a custom tool entry for that). Signed-off-by: Henri GEIST <> Thanks-to: Jens Lehmann <> Signed-off-by: Pat Thoyts <>
2014-06-13git-gui: tolerate major version changes when comparing the git versionJens Lehmann
Since git 2.0.0 starting git gui in a submodule using a gitfile fails with the following error: No working directory ../../../<path> couldn't change working directory to "../../../<path>": no such file or directory This is because "git rev-parse --show-toplevel" is only run when git gui sees a git version of at least 1.7.0 (which is the version in which the --show-toplevel option was introduced). But "package vsatisfies" returns false when the major version changes, which is not what we want here. Fix that for both places where the git version is checked using vsatisfies by appending a '-' to the version number. This tells vsatisfies that a change of the major version is not considered to be a problem, as long as the new major version is larger. This is done for both the place that caused the reported bug and another spot where the git version is tested for another feature. Reported-by: Chris Packham <> Reported-by: Yann Dirson <> Signed-off-by: Jens Lehmann <>
2014-06-13git-gui: show staged submodules regardless of ignore configJens Lehmann
Currently setting submodule.<name>.ignore and/or diff.ignoreSubmodules to "all" suppresses all output of submodule changes for git-gui. This is really confusing, as even when the user chooses to record a new commit for an ignored submodule by adding it manually this change won't show up under "Staged Changes (Will Commit)". Fix that by using the '--ignore-submodules=dirty' option for both callers of "git diff-index --cached" when the underlying git version supports that option. Signed-off-by: Jens Lehmann <> Signed-off-by: Junio C Hamano <> Signed-off-by: Pat Thoyts <>
2014-01-18git-gui 0.19gitgui-0.19.0Pat Thoyts
Signed-off-by: Pat Thoyts <>
2014-01-18git-gui: chmod +x po2msg, windows/git-gui.shJonathan Nieder
The Makefile only runs po/ using tclsh, but because the script has the usual tcl preamble starting with #!/bin/sh it can also be run directly. The Windows git-gui wrapper is usable in-place for the same reason. Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <> Signed-off-by: Pat Thoyts <>
2014-01-18git-gui: fallback right pane to packed widgets with Tk 8.4Max Kirillov
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 <> Signed-off-by: Pat Thoyts <>
2014-01-18git-gui i18n: Added Bulgarian translationAlexander Shopov
Signed-off-by: Alexander Shopov <> Signed-off-by: Pat Thoyts <>
2014-01-18git-gui l10n: Add 29 more terms to glossaryAlexander Shopov
Signed-off-by: Alexander Shopov <> Signed-off-by: Pat Thoyts <>
2014-01-18git-gui i18n: Initial glossary in BulgarianAlexander Shopov
Signed-off-by: Alexander Shopov <> Signed-off-by: Pat Thoyts <>
2013-11-15git-gui: correct spelling errors in commentsMasanari Iida
Signed-off-by: Masanari Iida <> Signed-off-by: Pat Thoyts <>
2013-09-12git-gui: add menu item to launch a bash shell on Windows.Pat Thoyts
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 <>
2013-09-06git-gui: corrected setup of git worktree under cygwin.John Murphy
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 <> Signed-off-by: John Patrick Murphy <> Signed-off-by: Pat Thoyts <>
2013-08-27git-gui: right half window is panedMax Kirillov
For long descriptions it would be nice to be able to resize the comment text field. Signed-off-by: Max Kirillov <> Signed-off-by: Pat Thoyts <>
2013-08-27git-gui: Add gui.displayuntracked optionMax Kirillov
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 <> Signed-off-by: Pat Thoyts <>
2013-08-27git-gui: show the maxrecentrepo config option in the preferences dialogPat Thoyts
Signed-off-by: Pat Thoyts <>
2013-08-27git-gui: added gui.maxrecentrepo to extend the number of remembered reposPat Thoyts
The list of recently opened repositories shown when launching git-gui from outside a repository was hard coded to only show a maximum of 10 items. This config variable allows the user to override this default. Signed-off-by: Pat Thoyts <>
2013-08-27git-gui: Improve font rendering on retina macbooksMads Dørup
Signed-off-by: Mads Dørup <> Signed-off-by: Pat Thoyts <>
2013-06-15git-gui 0.18gitgui-0.18.0Pat Thoyts
Signed-off-by: Pat Thoyts <>
2013-06-15git-gui: avoid an error message when removing the last remotePat Thoyts
When the last remote is removed on a system that has tearoff menu items the code that adjusts the fetch and prune menus may raise an error when probing the menu entry for a non-existing -label option. Check the entry type to avoid this fault. Reported-by: Vedran Miletić <> Signed-off-by: Pat Thoyts <>
2013-06-07git-gui: fix file name handling with non-empty prefixJohn Keeping
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 <> Signed-off-by: John Keeping <> Signed-off-by: Pat Thoyts <>
2013-06-07git-gui: bring wish process to front on MacStefan Haller
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 <> Signed-off-by: Pat Thoyts <>
2013-05-17git-gui: change dialog button positions for Windows to suit platform.Pat Thoyts
On windows it is more common to have cancel furthest on the right. Signed-off-by: Pat Thoyts <>
2013-05-16git-gui: allow "\ No newline at end of file" for linewise stagingHeiko Voigt
Counting of lines did not skip this line when generating the hunk header. Acked-by: Tobias Preuss <> Signed-off-by: Heiko Voigt <> Signed-off-by: Pat Thoyts <>
2013-02-22git-gui: fix the mergetool launcher for the Beyond Compare tool.Pat Thoyts
When using Beyond Compare as the mergetool it fails to save the merged result correctly due to a quoting problem when executing the tool. This patch solves the quoting problem. Signed-off-by: Warren Falk <> Signed-off-by: Pat Thoyts <>
2012-12-25Makefile: replace "echo 1>..." with "echo >..."Christian Couder
This is clearer to many people this way. Signed-off-by: Christian Couder <> Signed-off-by: Junio C Hamano <> Signed-off-by: Pat Thoyts <>
2012-11-28French translation: copy -> copie.Grahack
Signed-off-by: Pat Thoyts <>
2012-11-13git-gui: Fix parsing of <rev> <path-which-not-present-in-worktree>Kirill Smelkov
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 <> Signed-off-by: Kirill Smelkov <> Signed-off-by: Pat Thoyts <>
2012-10-17git-gui 0.17gitgui-0.17.0Pat Thoyts
Signed-off-by: Pat Thoyts <>
2012-10-17git-gui: Don't prepend the prefix if value looks like a full pathAndrew Wong
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 <> Signed-off-by: Pat Thoyts <>
2012-10-17git-gui: Detect full path when parsing argumentsAndrew Wong
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 <> Signed-off-by: Pat Thoyts <>
2012-09-17git-gui: remove .git/CHERRY_PICK_HEAD after committingBeat Bolli
Adding _git_ps1() to one's bash prompt displays various repo status info after each command. After committing a git cherry-pick -n using git-gui, the prompt still contains the "|CHERRY-PICKING" flag. Delete the file causing this flag when cleaning up. Signed-off-by: Beat Bolli <> Signed-off-by: Pat Thoyts <>
2012-09-17git-gui: Fix a loose/lose mistakeBeat Bolli
Acked-by: Junio C Hamano <> Signed-off-by: Beat Bolli <> Signed-off-by: Pat Thoyts <>
2012-09-17git-gui: Fix semi-working shortcuts for unstage and revertVitaly _Vi Shukela
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 <> Signed-off-by: Vitaly _Vi Shukela <> Signed-off-by: Pat Thoyts <>
2012-06-19Merge branch 'rt/trans'Pat Thoyts
2012-06-19git-gui: de.po: translate "remote" as "extern"Ralf Thielow
According to the translation in git-core, we translate "remote" as "extern". Signed-off-by: Ralf Thielow <> Signed-off-by: Pat Thoyts <>