summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-10-20Merge branch 'os/preserve-author' into puLibravatar Pat Thoyts1-3/+33
2016-10-20Merge branch 'kb/unicode' into puLibravatar Pat Thoyts3-30/+12
2016-10-06git-gui: avoid persisting modified author identityLibravatar Pat Thoyts1-20/+31
Commit 7e71adc77f fixes a problem with git-gui failing to pick up the original author identity during a commit --amend operation. However, the new author details then become persistent for the remainder of the session. This commit fixes this by ensuring the environment variables are reset and the author information reset once the commit is completed. The relevant changes were reworked to reduce global variables. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-06git-gui: handle the encoding of Git's output correctlyLibravatar Karsten Blees1-25/+4
If we use 'eval exec $opt $cmdp $args' to execute git command, tcl engine will convert the output of the git comand with the rule system default code page to unicode. But cp936 -> unicode conversion implicitly done by exec is not reversible. So we have to use git_read instead. Bug report and an original reproducer by Cloud Chou: https://github.com/msysgit/git/issues/302 Cloud Chou find the reason of the bug. Thanks-to: Johannes Schindelin <johannes.schindelin@gmx.de> Thanks-to: Pat Thoyts <patthoyts@users.sourceforge.net> Reported-by: Cloud Chou <515312382@qq.com> Original-test-by: Cloud Chou <515312382@qq.com> Signed-off-by: Karsten Blees <blees@dcon.de> Signed-off-by: Cloud Chou <515312382@qq.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-06git-gui: unicode file name support on windowsLibravatar Karsten Blees3-8/+11
Assumes file names in git tree objects are UTF-8 encoded. On most unix systems, the system encoding (and thus the TCL system encoding) will be UTF-8, so file names will be displayed correctly. On Windows, it is impossible to set the system encoding to UTF-8. Changing the TCL system encoding (via 'encoding system ...', e.g. in the startup code) is explicitly discouraged by the TCL docs. Change git-gui functions dealing with file names to always convert from and to UTF-8. Signed-off-by: Karsten Blees <blees@dcon.de> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-04Merge branch 'dr/ru' into puLibravatar Pat Thoyts1-431/+249
2016-10-04git-gui: Update Russian translationLibravatar Dimitriy Ryazantcev1-431/+249
Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-04git-gui: maintain backwards compatibility for merge syntaxLibravatar Pat Thoyts1-1/+10
Commit b5f325c updated to use the newer merge syntax but continue to support older versions of git. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-03Merge branch 'va/i18n_2' into puLibravatar Pat Thoyts17-36/+35
2016-10-03git-gui i18n: mark string in lib/error.tcl for translationLibravatar Vasco Almeida1-1/+1
Mark string "$hook hook failed:" in lib/error.tcl for translation. Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-03git-gui: fix incorrect use of Tcl append commandLibravatar Vasco Almeida15-26/+25
Fix wrong use of append command in strings marked for translation. According to Tcl/Tk Documentation [1], append varName ?value value value ...? appends all value arguments to the current value of variable varName. This means that append "[appname] ([reponame]): " [mc "File Viewer"] is setting a variable named "[appname] ([reponame]): " to the output of [mc "File Viewer"], rather than returning the concatenation of both expressions as one might expect. The format for some strings enables, for instance, a French translator to translate like "%s (%s) : Create Branch" (space before colon). Conversely, strings already translated will be marked as fuzzy and the translator must update them herself. For some cases, use alternative way for concatenation instead of using strcat procedure defined in git-gui.sh. Reference: 31bb1d1 ("git-gui: Paper bag fix missing translated strings", 2007-09-14) fixes the same issue slightly differently. [1] http://www.tcl.tk/man/tcl/TclCmd/append.htm Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-03git-gui i18n: mark "usage:" strings for translationLibravatar Vasco Almeida1-2/+2
Mark command-line "usage:" string for translation in git-gui.sh. Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-03git-gui i18n: internationalize use of colon punctuationLibravatar Vasco Almeida4-7/+7
Internationalize use of colon punctuation ':' in options window, windows titles, database statistics window. Some languages might use a different style, for instance French uses "User Name :" (space before colon). Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-03Merge branch 'pt/non-mouse-usage' into puLibravatar Pat Thoyts2-42/+155
2016-10-03Merge branch 'pt/git4win-mods' into puLibravatar Pat Thoyts2-4/+11
2016-10-03Merge branch 'patches' into puLibravatar Pat Thoyts4-2/+10
2016-10-03git-gui: ensure the file in the diff pane is in the list of selected filesLibravatar Alex Riesen1-0/+3
It is very confusing that the file which diff is displayed is marked as selected, but it is not in fact selected (that means the array of selected files does not include the file in question). Fixing this also improves the use of $FILENAMES in custom defined tools: one does not have to click the file in the list to make it selected. Signed-off-by: Alex Riesen <alexander.riesen@cetitec.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-03git-gui: support for $FILENAMES in tool definitionsLibravatar Alex Riesen1-0/+3
This adds a FILENAMES environment variable, which contains the repository pathnames of all selected files the list. The variable contains the names separated by LF (\n, \x0a). If the file names contain LF characters, the tool command might be unable to unambiguously split the value of $FILENAME into the separate names. Note that the file marked and diffed immediately after starting the GUI up, is not actually selected. One must click on it once to really select it. Signed-off-by: Alex Riesen <alexander.riesen@cetitec.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-03git-gui: fix initial git gui message encodingLibravatar yaras1-0/+2
This fix refers https://github.com/git-for-windows/git/issues/664 After `git merge --squash` git creates .git/SQUASH_MSG (UTF-8 encoded) which contains squashed commits. When run `git gui` it copies SQUASH_MSG to PREPARE_COMMIT_MSG, but without honoring UTF-8. This leads to encoding problems on `git gui` commit prompt. The same applies on git cherry-pick conflict, where MERGE_MSG is created and then is copied to PREPARE_COMMIT_MSG. In both cases PREPARE_COMMIT_MSG must be configured to store data in UTF-8. Signed-off-by: yaras <yaras6@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-03git-gui/po/glossary/txt-to-pot.sh: use the $( ... ) construct for command ↵Libravatar Elia Pinto1-2/+2
substitution The Git CodingGuidelines prefer the $(...) construct for command substitution instead of using the backquotes `...`. The backquoted form is the traditional method for command substitution, and is supported by POSIX. However, all but the simplest uses become complicated quickly. In particular, embedded command substitutions and/or the use of double quotes require careful escaping with the backslash character. The patch was generated by: for _f in $(find . -name "*.sh") do perl -i -pe 'BEGIN{undef $/;} s/`(.+?)`/\$(\1)/smg' "${_f}" done and then carefully proof-read. Signed-off-by: Elia Pinto <gitter.spiros@gmail.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-03Merge branch 'va/i18n' into puLibravatar Pat Thoyts3-3/+3012
2016-10-03Merge branch 'rs/use-modern-git-merge-syntax' into puLibravatar Pat Thoyts1-6/+1
2016-10-03Merge branch 'js/commit-gpgsign' into puLibravatar Pat Thoyts1-0/+3
2016-10-03Merge branch 'sy/i18n' into puLibravatar Pat Thoyts1-1309/+1438
2016-10-03git-gui (Windows): use git-gui.exe in `Create Desktop Shortcut`Libravatar Pat Thoyts1-4/+7
When calling `Repository>Create Desktop Shortcut`, Git GUI assumes that it is okay to call `wish.exe` directly on Windows. However, in Git for Windows 2.x' context, that leaves several crucial environment variables uninitialized, resulting in a shortcut that does not work. To fix those environment variable woes, Git for Windows comes with a convenient `git-gui.exe`, so let's just use it when it is available. This fixes https://github.com/git-for-windows/git/issues/448 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-03git-gui: fix detection of CygwinLibravatar Pat Thoyts1-0/+4
MSys2 might *look* like Cygwin, but it is *not* Cygwin... Unless it is run with `MSYSTEM=MSYS`, that is. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-02Amend tab ordering and text widget border and highlighting.Libravatar Pat Thoyts2-31/+124
Tab order follows widget creation order (and Z-order) so amend this to match the layout more logically. For keyboard selection a highlight around the selected text widget is useful. Customized on Windows themed Tk to follow the native theme more closely with a custom EntryFrame style. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-10-01Allow keyboard control to work in the staging widgets.Libravatar Pat Thoyts1-12/+32
Keyboard focus was restricted to the commit message widget and users were forced to use the mouse to select files in the workdir widget and only then could use a key combination to stage the file. It is now possible to use key navigation (Ctrl-Tab, arrow keys and Ctrl-T or Ctrl-U) to stage and unstage files. Suggested by @koppor in git-for-window/git issue #859 Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2016-09-26git-gui: l10n: add Portuguese translationLibravatar Vasco Almeida2-0/+3009
Add Portuguese glossary. Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-09-26git-gui i18n: mark strings for translationLibravatar Vasco Almeida1-3/+3
Mark strings for translation in lib/index.tcl that were seemingly left behind by 700e560 ("git-gui: Mark forgotten strings for translation.", 2008-09-04) which marks string in do_revert_selection procedure. These strings are passed to unstage_help and add_helper procedures. Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-09-26git-gui: stop using deprecated merge syntaxLibravatar René Scharfe1-6/+1
Starting with v2.5.0 git merge can handle FETCH_HEAD internally and warns when it's called like 'git merge <message> HEAD <commit>' because that syntax is deprecated. Use this feature in git-gui and get rid of that warning. Signed-off-by: Rene Scharfe <l.s.r@web.de> Tested-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-09-11git-gui: respect commit.gpgsign againLibravatar Johannes Schindelin1-0/+3
As of v2.9.0, `git commit-tree` no longer heeds the `commit.gpgsign` config setting. This broke committing with GPG signature in Git GUI. This fixes https://github.com/git-for-windows/git/issues/850 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-09-07git-gui: update Japanese informationLibravatar Satoshi Yasushima1-2/+4
Signed-off-by: Satoshi Yasushima <s.yasushima@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-09-07git-gui: update Japanese translationLibravatar Satoshi Yasushima1-42/+35
Signed-off-by: Satoshi Yasushima <s.yasushima@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-09-07git-gui: add Japanese language codeLibravatar Satoshi Yasushima1-1/+1
Signed-off-by: Satoshi Yasushima <s.yasushima@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-09-07git-gui: apply po template to Japanese translationLibravatar Satoshi Yasushima1-1304/+1437
Signed-off-by: Satoshi Yasushima <s.yasushima@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-09-07git-gui: consistently use the same word for "blame" in JapaneseLibravatar Satoshi Yasushima1-2/+2
Signed-off-by: Satoshi Yasushima <s.yasushima@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-09-07git-gui: consistently use the same word for "remote" in JapaneseLibravatar Satoshi Yasushima1-3/+4
Signed-off-by: Satoshi Yasushima <s.yasushima@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-14git-gui: Do not reset author details on amendLibravatar Orgad Shaneh1-0/+19
git commit --amend preserves the author details unless --reset-author is given. git-gui discards the author details on amend. Fix by reading the author details along with the commit message, and setting the appropriate environment variables required for preserving them. Reported long ago in the mailing list[1]. [1] http://article.gmane.org/gmane.comp.version-control.git/243921 Signed-off-by: Orgad Shaneh <orgad.shaneh@audiocodes.com>
2015-05-01git-gui: sort entries in tclIndexLibravatar Olaf Hering1-1/+1
ALL_LIBFILES uses wildcard, which provides the result in directory order. This order depends on the underlying filesystem on the buildhost. To get reproducible builds it is required to sort such list before using them. Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2015-04-18git-gui: set version 0.20Libravatar Pat Thoyts1-1/+1
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2015-04-18git-gui: sv.po: Update Swedish translation (547t0f0u)Libravatar Peter Krefting1-1431/+1562
Signed-off-by: Peter Krefting <peter@softwolves.pp.se> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2015-04-18git-gui i18n: Updated Bulgarian translation (547t,0f,0u)Libravatar Alexander Shopov1-1498/+1528
Signed-off-by: Alexander Shopov <ash@kambanaria.org> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2015-03-07git-gui: Makes chooser set 'gitdir' to the resolved pathLibravatar Remi Rampin1-3/+8
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 <judge.packham@gmail.com> Signed-off-by: Remi Rampin <remirampin@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2015-03-07git-gui: Fixes chooser not accepting gitfilesLibravatar Remi Rampin1-0/+10
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 <judge.packham@gmail.com> Signed-off-by: Remi Rampin <remirampin@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2015-01-13git-gui: reinstate support for Tcl 8.4Libravatar Kyle J. McKay1-2/+2
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 <mackyle@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2015-01-05git-gui: fix problem with gui.maxfilesdisplayedLibravatar Csaba Kiraly1-9/+12
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 <kiraly@disi.unitn.it> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2014-11-07git-gui: fix verbose loading when git path contains spaces.Libravatar Pat Thoyts1-3/+3
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 <patthoyts@users.sourceforge.net>
2014-11-06git-gui/gitk: Do not depend on Cygwin's "kill" command on WindowsLibravatar Sebastian Schuberth1-3/+1
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 <sschuberth@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2014-10-06git-gui: add configurable tab size to the diff viewLibravatar Michael Lutz3-1/+21
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 <michi@icosahedron.de> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>