Todd Zullinger [Tue, 7 Nov 2017 05:39:33 +0000 (00:39 -0500)]
Replace Free Software Foundation address in license notices
The mailing address for the FSF has changed over the years. Rather than
updating the address across all files, refer readers to gnu.org, as the
GNU GPL documentation now suggests for license notices. The mailing
address is retained in the full license files (COPYING and LGPL-2.1).
Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pat Thoyts [Sat, 18 Mar 2017 15:35:09 +0000 (15:35 +0000)]
Merge remote-tracking branch 'philoakley/dup-gui'
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Philip Oakley [Mon, 14 Dec 2015 12:56:40 +0000 (12:56 +0000)]
git gui: allow for a long recentrepo list
The gui.recentrepo list may be longer than the maxrecent setting.
Allow extra space to show any extra entries.
In an ideal world, the git gui would limit the number of entries
to the maxrecent setting, however the recentrepo config list may
have been extended outwith the gui, or the maxrecent setting changed
to a reduced value. Further, when testing the gui's recentrepo
logic it is useful to show these extra, but valid, entries.
Signed-off-by: Philip Oakley <philipoakley@iee.org>
Philip Oakley [Mon, 14 Dec 2015 10:42:04 +0000 (10:42 +0000)]
git gui: de-dup selected repo from recentrepo history
When the gui/user selects a repo for display, that repo is brought to
the end of the recentrepo config list. The logic can fail if there are
duplicate old entries for the repo (you cannot unset a single config
entry when duplicates are present).
Similarly, the maxrecentrepo logic could fail if older duplicate entries
are present.
The first commit of this series ({this}~2) fixed the config unsetting
issue. Rather than manipulating a local copy of the $recent list (one
cannot know how many entries were removed), simply re-read it.
We must also catch the error when the attempt to remove the second copy
from the re-read list is performed.
Signed-off-by: Philip Oakley <philipoakley@iee.org>
Philip Oakley [Mon, 14 Dec 2015 11:19:32 +0000 (11:19 +0000)]
git gui: cope with duplicates in _get_recentrepo
_get_recentrepo will fail if duplicate invalid entries are present
in the recentrepo config list. The previous commit fixed the
'git config' limitations in _unset_recentrepo by unsetting all config
entries, however this code would fail on the second attempt to unset it.
Refactor the code to pre-sort and de-duplicate the recentrepo list to
avoid a potential second unset attempt.
Signed-off-by: Philip Oakley <philipoakley@iee.org>
Philip Oakley [Mon, 14 Dec 2015 10:37:02 +0000 (10:37 +0000)]
git-gui: remove duplicate entries from .gitconfig's gui.recentrepo
The git gui's recent repo list may become contaminated with duplicate
entries. The git gui would barf when attempting to remove one entry.
Remove them all - there is no option within 'git config' to selectively
remove one of the entries.
This issue was reported on the 'Git User' list
(https://groups.google.com/forum/#!topic/git-users/msev4KsQGFc,
Warning: gui.recentrepo has multiply values while executing).
And also by zosrothko as a Git-for-Windows issue
https://github.com/git-for-windows/git/issues/1014.
On startup the gui checks that entries in the recentrepo list are still
valid repos and deletes thoses that are not. If duplicate entries are
present the 'git config --unset' will barf and this prevents the gui
from starting.
Subsequent patches fix other parts of recentrepo logic used for syncing
internal lists with the external .gitconfig.
Reported-by: Alexey Astakhov <asstv7@gmail.com>
Signed-off-by: Philip Oakley <philipoakley@iee.org>
Pat Thoyts [Thu, 20 Oct 2016 10:19:43 +0000 (11:19 +0100)]
git-gui: set version 0.21
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Thu, 20 Oct 2016 10:13:42 +0000 (11:13 +0100)]
Merge branch 'as/bulgarian' into pu
Alexander Shopov [Thu, 13 Oct 2016 18:43:48 +0000 (21:43 +0300)]
git-gui: Mark 'All' in remote.tcl for translation
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Alexander Shopov [Thu, 13 Oct 2016 18:43:49 +0000 (21:43 +0300)]
git-gui i18n: Updated Bulgarian translation (565,0f,0u)
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Thu, 20 Oct 2016 10:07:24 +0000 (11:07 +0100)]
Merge branch 'os/preserve-author' into pu
Pat Thoyts [Thu, 20 Oct 2016 10:06:28 +0000 (11:06 +0100)]
Merge branch 'kb/unicode' into pu
Pat Thoyts [Thu, 6 Oct 2016 13:04:42 +0000 (14:04 +0100)]
git-gui: avoid persisting modified author identity
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>
Karsten Blees [Thu, 26 Feb 2015 09:19:45 +0000 (17:19 +0800)]
git-gui: handle the encoding of Git's output correctly
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>
Karsten Blees [Sat, 4 Feb 2012 20:54:36 +0000 (21:54 +0100)]
git-gui: unicode file name support on windows
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>
Pat Thoyts [Tue, 4 Oct 2016 22:29:40 +0000 (23:29 +0100)]
Merge branch 'dr/ru' into pu
Dimitriy Ryazantcev [Tue, 4 Oct 2016 15:15:16 +0000 (18:15 +0300)]
git-gui: Update Russian translation
Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Tue, 4 Oct 2016 11:49:05 +0000 (12:49 +0100)]
git-gui: maintain backwards compatibility for merge syntax
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>
Pat Thoyts [Mon, 3 Oct 2016 22:40:50 +0000 (23:40 +0100)]
Merge branch 'va/i18n_2' into pu
Vasco Almeida [Sun, 8 May 2016 10:52:58 +0000 (10:52 +0000)]
git-gui i18n: mark string in lib/error.tcl for translation
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>
Vasco Almeida [Sun, 8 May 2016 10:52:57 +0000 (10:52 +0000)]
git-gui: fix incorrect use of Tcl append command
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>
Vasco Almeida [Sun, 8 May 2016 10:52:56 +0000 (10:52 +0000)]
git-gui i18n: mark "usage:" strings for translation
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>
Vasco Almeida [Sun, 8 May 2016 10:52:55 +0000 (10:52 +0000)]
git-gui i18n: internationalize use of colon punctuation
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>
Pat Thoyts [Mon, 3 Oct 2016 22:30:44 +0000 (23:30 +0100)]
Merge branch 'pt/non-mouse-usage' into pu
Pat Thoyts [Mon, 3 Oct 2016 22:30:32 +0000 (23:30 +0100)]
Merge branch 'pt/git4win-mods' into pu
Pat Thoyts [Mon, 3 Oct 2016 22:28:57 +0000 (23:28 +0100)]
Merge branch 'patches' into pu
Alex Riesen [Tue, 28 Jun 2016 08:59:25 +0000 (10:59 +0200)]
git-gui: ensure the file in the diff pane is in the list of selected files
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>
Alex Riesen [Tue, 28 Jun 2016 08:57:42 +0000 (10:57 +0200)]
git-gui: support for $FILENAMES in tool definitions
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>
yaras [Tue, 23 Feb 2016 11:55:46 +0000 (11:55 +0000)]
git-gui: fix initial git gui message encoding
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>
Elia Pinto [Tue, 22 Dec 2015 14:10:29 +0000 (15:10 +0100)]
git-gui/po/glossary/txt-to-pot.sh: use the $( ... ) construct for command 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>
Pat Thoyts [Mon, 3 Oct 2016 22:23:27 +0000 (23:23 +0100)]
Merge branch 'va/i18n' into pu
Pat Thoyts [Mon, 3 Oct 2016 22:23:19 +0000 (23:23 +0100)]
Merge branch 'rs/use-modern-git-merge-syntax' into pu
Pat Thoyts [Mon, 3 Oct 2016 22:23:05 +0000 (23:23 +0100)]
Merge branch 'js/commit-gpgsign' into pu
Pat Thoyts [Mon, 3 Oct 2016 22:22:46 +0000 (23:22 +0100)]
Merge branch 'sy/i18n' into pu
Pat Thoyts [Sun, 2 Oct 2016 21:19:47 +0000 (22:19 +0100)]
git-gui (Windows): use git-gui.exe in `Create Desktop Shortcut`
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>
Pat Thoyts [Sun, 2 Oct 2016 10:51:29 +0000 (11:51 +0100)]
git-gui: fix detection of Cygwin
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>
Pat Thoyts [Sat, 1 Oct 2016 23:13:07 +0000 (00:13 +0100)]
Amend tab ordering and text widget border and highlighting.
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>
Pat Thoyts [Sat, 1 Oct 2016 21:04:39 +0000 (22:04 +0100)]
Allow keyboard control to work in the staging widgets.
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>
Vasco Almeida [Fri, 6 May 2016 16:06:42 +0000 (16:06 +0000)]
git-gui: l10n: add Portuguese translation
Add Portuguese glossary.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Sun, 8 May 2016 10:52:54 +0000 (10:52 +0000)]
git-gui i18n: mark strings for translation
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>
René Scharfe [Sat, 24 Sep 2016 11:30:22 +0000 (13:30 +0200)]
git-gui: stop using deprecated merge syntax
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>
Johannes Schindelin [Fri, 9 Sep 2016 12:28:24 +0000 (14:28 +0200)]
git-gui: respect commit.gpgsign again
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>
Satoshi Yasushima [Tue, 6 Sep 2016 16:02:21 +0000 (01:02 +0900)]
git-gui: update Japanese information
Signed-off-by: Satoshi Yasushima <s.yasushima@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Satoshi Yasushima [Tue, 6 Sep 2016 16:02:20 +0000 (01:02 +0900)]
git-gui: update Japanese translation
Signed-off-by: Satoshi Yasushima <s.yasushima@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Satoshi Yasushima [Tue, 6 Sep 2016 16:02:19 +0000 (01:02 +0900)]
git-gui: add Japanese language code
Signed-off-by: Satoshi Yasushima <s.yasushima@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Satoshi Yasushima [Tue, 6 Sep 2016 16:02:18 +0000 (01:02 +0900)]
git-gui: apply po template to Japanese translation
Signed-off-by: Satoshi Yasushima <s.yasushima@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Satoshi Yasushima [Tue, 6 Sep 2016 16:02:17 +0000 (01:02 +0900)]
git-gui: consistently use the same word for "blame" in Japanese
Signed-off-by: Satoshi Yasushima <s.yasushima@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Satoshi Yasushima [Tue, 6 Sep 2016 16:02:16 +0000 (01:02 +0900)]
git-gui: consistently use the same word for "remote" in Japanese
Signed-off-by: Satoshi Yasushima <s.yasushima@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Orgad Shaneh [Mon, 11 Apr 2016 06:57:39 +0000 (09:57 +0300)]
git-gui: Do not reset author details on amend
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>
Olaf Hering [Mon, 26 Jan 2015 15:07:21 +0000 (17:07 +0200)]
git-gui: sort entries in tclIndex
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>
Pat Thoyts [Sat, 18 Apr 2015 11:15:32 +0000 (12:15 +0100)]
git-gui: set version 0.20
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Peter Krefting [Fri, 27 Mar 2015 09:25:32 +0000 (10:25 +0100)]
git-gui: sv.po: Update Swedish translation (547t0f0u)
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Alexander Shopov [Tue, 7 Apr 2015 15:29:46 +0000 (18:29 +0300)]
git-gui i18n: Updated Bulgarian translation (547t,0f,0u)
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Remi Rampin [Fri, 6 Mar 2015 16:21:53 +0000 (11:21 -0500)]
git-gui: Makes chooser set 'gitdir' to the resolved path
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>
Remi Rampin [Fri, 6 Mar 2015 16:21:52 +0000 (11:21 -0500)]
git-gui: Fixes chooser not accepting gitfiles
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>
Kyle J. McKay [Tue, 6 Jan 2015 10:41:21 +0000 (02:41 -0800)]
git-gui: reinstate support for Tcl 8.4
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>
Csaba Kiraly [Mon, 15 Dec 2014 15:38:00 +0000 (16:38 +0100)]
git-gui: fix problem with gui.maxfilesdisplayed
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>
Pat Thoyts [Fri, 7 Nov 2014 00:37:28 +0000 (00:37 +0000)]
git-gui: fix verbose loading when git path contains spaces.
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>
Sebastian Schuberth [Thu, 23 Oct 2014 19:30:54 +0000 (21:30 +0200)]
git-gui/gitk: Do not depend on Cygwin's "kill" command on Windows
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>
Michael Lutz [Sun, 12 Feb 2012 15:55:17 +0000 (16:55 +0100)]
git-gui: add configurable tab size to the diff view
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>
David Turner [Mon, 21 Jul 2014 20:41:38 +0000 (16:41 -0400)]
git-gui: Make git-gui lib dir configurable at runime
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 <dturner@twitter.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Alexander Shopov [Fri, 8 Aug 2014 06:10:03 +0000 (09:10 +0300)]
git-gui i18n: Updated Bulgarian translation (520t,0f,0u)
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Sun, 29 Jun 2014 11:59:15 +0000 (12:59 +0100)]
Merge remote-tracking branch 'vnwildman/master'
Trần Ngọc Quân [Sat, 28 Jun 2014 00:10:58 +0000 (07:10 +0700)]
L10n: vi.po (543t): Init translation for Vietnamese
* Pickup pot file then msginit from it
Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
Pat Thoyts [Fri, 13 Jun 2014 18:38:28 +0000 (19:38 +0100)]
git-gui: align the new recursive checkbox with the radiobuttons.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Henri GEIST [Tue, 11 Mar 2014 18:21:01 +0000 (19:21 +0100)]
git-gui: Add a 'recursive' checkbox in the clone menu.
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 <geist.henri@laposte.net>
Thanks-to: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Jens Lehmann [Sat, 17 May 2014 19:49:05 +0000 (21:49 +0200)]
git-gui: tolerate major version changes when comparing the git version
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 <judge.packham@gmail.com>
Reported-by: Yann Dirson <ydirson@free.fr>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Jens Lehmann [Tue, 8 Apr 2014 19:30:51 +0000 (21:30 +0200)]
git-gui: show staged submodules regardless of ignore config
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 <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Sat, 18 Jan 2014 17:29:34 +0000 (17:29 +0000)]
git-gui 0.19
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Jonathan Nieder [Mon, 25 Nov 2013 21:01:05 +0000 (13:01 -0800)]
git-gui: chmod +x po2msg, windows/git-gui.sh
The Makefile only runs po/po2msg.sh 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 <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Max Kirillov [Tue, 14 Jan 2014 23:58:09 +0000 (01:58 +0200)]
git-gui: fallback right pane to packed widgets with Tk 8.4
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>
Alexander Shopov [Wed, 15 Jan 2014 11:07:56 +0000 (13:07 +0200)]
git-gui i18n: Added Bulgarian translation
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Alexander Shopov [Wed, 15 Jan 2014 11:07:57 +0000 (13:07 +0200)]
git-gui l10n: Add 29 more terms to glossary
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Alexander Shopov [Wed, 15 Jan 2014 11:07:55 +0000 (13:07 +0200)]
git-gui i18n: Initial glossary in Bulgarian
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Masanari Iida [Tue, 12 Nov 2013 15:17:44 +0000 (00:17 +0900)]
git-gui: correct spelling errors in comments
Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Thu, 12 Sep 2013 20:15:19 +0000 (21:15 +0100)]
git-gui: add menu item to launch a bash shell on Windows.
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>
John Murphy [Wed, 4 Sep 2013 15:03:48 +0000 (11:03 -0400)]
git-gui: corrected setup of git worktree under cygwin.
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>
Max Kirillov [Wed, 21 Aug 2013 03:38:40 +0000 (06:38 +0300)]
git-gui: right half window is paned
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>
Max Kirillov [Wed, 21 Aug 2013 03:29:13 +0000 (06:29 +0300)]
git-gui: Add gui.displayuntracked option
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>
Pat Thoyts [Tue, 27 Aug 2013 10:11:15 +0000 (11:11 +0100)]
git-gui: show the maxrecentrepo config option in the preferences dialog
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Wed, 10 Jul 2013 12:31:13 +0000 (13:31 +0100)]
git-gui: added gui.maxrecentrepo to extend the number of remembered repos
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 <patthoyts@users.sourceforge.net>
Mads Dørup [Sun, 21 Jul 2013 12:23:48 +0000 (14:23 +0200)]
git-gui: Improve font rendering on retina macbooks
Signed-off-by: Mads Dørup <mads@dorup.dk>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Sat, 15 Jun 2013 22:53:34 +0000 (23:53 +0100)]
git-gui 0.18
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Sat, 15 Jun 2013 22:36:27 +0000 (23:36 +0100)]
git-gui: avoid an error message when removing the last remote
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ć <rivanvx@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
John Keeping [Sat, 27 Apr 2013 13:24:16 +0000 (14:24 +0100)]
git-gui: fix file name handling with non-empty prefix
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>
Stefan Haller [Thu, 6 Jun 2013 08:17:47 +0000 (10:17 +0200)]
git-gui: bring wish process to front on Mac
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>
Pat Thoyts [Fri, 17 May 2013 09:51:01 +0000 (10:51 +0100)]
git-gui: change dialog button positions for Windows to suit platform.
On windows it is more common to have cancel furthest on the right.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Heiko Voigt [Thu, 9 May 2013 16:30:02 +0000 (18:30 +0200)]
git-gui: allow "\ No newline at end of file" for linewise staging
Counting of lines did not skip this line when generating the hunk
header.
Acked-by: Tobias Preuss <tobias.preuss@googlemail.com>
Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Fri, 22 Feb 2013 20:13:21 +0000 (20:13 +0000)]
git-gui: fix the mergetool launcher for the Beyond Compare tool.
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 <warren@warrenfalk.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Christian Couder [Tue, 18 Dec 2012 18:47:20 +0000 (19:47 +0100)]
Makefile: replace "echo 1>..." with "echo >..."
This is clearer to many people this way.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Grahack [Wed, 28 Nov 2012 14:49:43 +0000 (15:49 +0100)]
French translation: copy -> copie.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Kirill Smelkov [Tue, 13 Nov 2012 12:30:17 +0000 (16:30 +0400)]
git-gui: Fix parsing of <rev> <path-which-not-present-in-worktree>
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>
Pat Thoyts [Wed, 17 Oct 2012 20:57:29 +0000 (21:57 +0100)]
git-gui 0.17
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Andrew Wong [Tue, 2 Oct 2012 16:25:15 +0000 (12:25 -0400)]
git-gui: Don't prepend the prefix if value looks like a full path
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>
Andrew Wong [Tue, 2 Oct 2012 16:25:14 +0000 (12:25 -0400)]
git-gui: Detect full path when parsing arguments
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>
Beat Bolli [Sat, 18 Aug 2012 20:28:00 +0000 (13:28 -0700)]
git-gui: remove .git/CHERRY_PICK_HEAD after committing
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 <bbolli@ewanet.ch>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Beat Bolli [Sat, 18 Aug 2012 20:24:00 +0000 (13:24 -0700)]
git-gui: Fix a loose/lose mistake
Acked-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Beat Bolli <bbolli@ewanet.ch>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Vitaly _Vi Shukela [Fri, 14 Sep 2012 23:36:41 +0000 (02:36 +0300)]
git-gui: Fix semi-working shortcuts for unstage and revert
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>
Pat Thoyts [Tue, 19 Jun 2012 20:34:11 +0000 (21:34 +0100)]
Merge branch 'rt/trans'
Ralf Thielow [Tue, 19 Jun 2012 18:25:41 +0000 (20:25 +0200)]
git-gui: de.po: translate "remote" as "extern"
According to the translation in git-core, we
translate "remote" as "extern".
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>