gitweb.git
Merge branch 'bp/amend-toggle-bind'Pratyush Yadav Sat, 14 Sep 2019 17:53:12 +0000 (23:23 +0530)

Merge branch 'bp/amend-toggle-bind'

Toggle amend on and off with the keyboard shortcut "Ctrl+e".

* bp/amend-toggle-bind:
git-gui: add hotkey to toggle "Amend Last Commit"

git-gui: add hotkey to toggle "Amend Last Commit"Birger Skogeng Pedersen Sat, 14 Sep 2019 09:18:35 +0000 (11:18 +0200)

git-gui: add hotkey to toggle "Amend Last Commit"

Selecting whether to "Amend Last Commit" or not does not have a hotkey.

With this patch, the user may toggle between the two options with
CTRL/CMD+e.

Signed-off-by: Birger Skogeng Pedersen <birger.sp@gmail.com>
Rebased-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>

Merge branch 'bw/commit-scrollbuffer'Pratyush Yadav Fri, 13 Sep 2019 20:49:38 +0000 (02:19 +0530)

Merge branch 'bw/commit-scrollbuffer'

Add a scrollbar at the bottom of the commit message buffer.

* bw/commit-scrollbuffer:
git-gui: add horizontal scrollbar to commit buffer

Merge branch 'bw/amend-checkbutton'Pratyush Yadav Fri, 13 Sep 2019 20:48:27 +0000 (02:18 +0530)

Merge branch 'bw/amend-checkbutton'

Change the amend setting from two radio buttons ("New commit" and "Amend
commit") to a single checkbutton. The two radio buttons can never be
selected together because they are exactly the opposite of each other,
so it makes sense to change it to a single checkbutton.

* bw/amend-checkbutton:
git-gui: convert new/amend commit radiobutton to checkbutton

git-gui: add horizontal scrollbar to commit bufferBert Wesarg Fri, 13 Sep 2019 20:16:28 +0000 (22:16 +0200)

git-gui: add horizontal scrollbar to commit buffer

While the commit message widget has a configurable fixed width, it
nevertheless allowed to write commit messages which exceeded this limit.
Though there is no visual clue, that there is scrolling going on. Now
there is a horizontal scrollbar.

There seems to be a bug in at least Tcl/Tk up to version 8.6.8, which
does not update the horizontal scrollbar if one removes the whole
content at once.

Suggested-by: Birger Skogeng Pedersen <birger.sp@gmail.com>
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>

git-gui: convert new/amend commit radiobutton to checkb... Bert Wesarg Fri, 13 Sep 2019 06:02:30 +0000 (08:02 +0200)

git-gui: convert new/amend commit radiobutton to checkbutton

Its a bi-state anyway and also saves one line in the menu.

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>

Merge branch 'py/revert-hunks-lines'Pratyush Yadav Wed, 11 Sep 2019 21:11:12 +0000 (02:41 +0530)

Merge branch 'py/revert-hunks-lines'

git-gui learned to revert selected lines and hunks, just like it can
stage selected lines and hunks. To provide a safety net for accidental
revert, the most recent revert can be undone.

* py/revert-hunks-lines:
git-gui: allow undoing last revert
git-gui: return early when patch fails to apply
git-gui: allow reverting selected hunk
git-gui: allow reverting selected lines

Merge branch 'bp/widget-focus-hotkeys'Pratyush Yadav Wed, 11 Sep 2019 21:10:24 +0000 (02:40 +0530)

Merge branch 'bp/widget-focus-hotkeys'

git-gui learned to switch focus between widgets "unstaged commits",
"staged commits", "diff", and "commit message" using the keyboard
shortcuts Alt+1, Alt+2, Alt+3, and Alt+4 respectively.

* bp/widget-focus-hotkeys:
git-gui: add hotkeys to set widget focus

git-gui: add hotkeys to set widget focusBirger Skogeng Pedersen Wed, 4 Sep 2019 14:30:55 +0000 (16:30 +0200)

git-gui: add hotkeys to set widget focus

The user cannot change focus between the list of files, the diff view and
the commit message widgets without using the mouse (clicking either of
the four widgets).

With this patch, the user may set ui focus to the previously selected path
in either the "Unstaged Changes" or "Staged Changes" widgets, using
ALT+1 or ALT+2.

The user may also set the ui focus to the diff view widget with
ALT+3, or to the commit message widget with ALT+4.

This enables the user to select/unselect files, view the diff and create a
commit in git-gui using keyboard-only.

Signed-off-by: Birger Skogeng Pedersen <birger.sp@gmail.com>
Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>

git-gui: allow undoing last revertPratyush Yadav Sun, 25 Aug 2019 20:13:23 +0000 (01:43 +0530)

git-gui: allow undoing last revert

Accidental clicks on the revert hunk/lines buttons can cause loss of
work, and can be frustrating. So, allow undoing the last revert.

Right now, a stack or deque are not being used for the sake of
simplicity, so only one undo is possible. Any reverts before the
previous one are lost.

Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>

git-gui: return early when patch fails to applyPratyush Yadav Sun, 25 Aug 2019 22:53:13 +0000 (04:23 +0530)

git-gui: return early when patch fails to apply

In the procedure apply_or_revert_range_or_line, if the patch does not
apply successfully, a dialog is shown, but execution proceeds after
that. Instead, return early on error so the parts that come after this
don't work on top of an error state.

Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>

git-gui: allow reverting selected hunkPratyush Yadav Sat, 17 Aug 2019 18:31:43 +0000 (00:01 +0530)

git-gui: allow reverting selected hunk

Just like the user can select a hunk to stage or unstage, add the
ability to revert hunks.

Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>

git-gui: allow reverting selected linesPratyush Yadav Sun, 25 Aug 2019 20:05:27 +0000 (01:35 +0530)

git-gui: allow reverting selected lines

Just like the user can select lines to stage or unstage, add the
ability to revert selected lines.

Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>

Merge remote-tracking branch 'philoakley/dup-gui'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>

git gui: allow for a long recentrepo listPhilip 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>

git gui: de-dup selected repo from recentrepo historyPhilip 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>

git gui: cope with duplicates in _get_recentrepoPhilip 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>

git-gui: remove duplicate entries from .gitconfig's... 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>

git-gui: set version 0.21 gitgui-0.21.0Pat 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>

Merge branch 'as/bulgarian' into puPat Thoyts Thu, 20 Oct 2016 10:13:42 +0000 (11:13 +0100)

Merge branch 'as/bulgarian' into pu

git-gui: Mark 'All' in remote.tcl for translationAlexander 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>

git-gui i18n: Updated Bulgarian translation (565,0f,0u)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>

Merge branch 'os/preserve-author' into puPat Thoyts Thu, 20 Oct 2016 10:07:24 +0000 (11:07 +0100)

Merge branch 'os/preserve-author' into pu

Merge branch 'kb/unicode' into puPat Thoyts Thu, 20 Oct 2016 10:06:28 +0000 (11:06 +0100)

Merge branch 'kb/unicode' into pu

git-gui: avoid persisting modified author identityPat 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>

git-gui: handle the encoding of Git's output correctlyKarsten 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>

git-gui: unicode file name support on windowsKarsten 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>

Merge branch 'dr/ru' into puPat Thoyts Tue, 4 Oct 2016 22:29:40 +0000 (23:29 +0100)

Merge branch 'dr/ru' into pu

git-gui: Update Russian translationDimitriy 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>

git-gui: maintain backwards compatibility for merge... 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>

Merge branch 'va/i18n_2' into puPat Thoyts Mon, 3 Oct 2016 22:40:50 +0000 (23:40 +0100)

Merge branch 'va/i18n_2' into pu

git-gui i18n: mark string in lib/error.tcl for translationVasco 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>

git-gui: fix incorrect use of Tcl append commandVasco 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>

git-gui i18n: mark "usage:" strings for translationVasco 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>

git-gui i18n: internationalize use of colon punctuationVasco 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>

Merge branch 'pt/non-mouse-usage' into puPat Thoyts Mon, 3 Oct 2016 22:30:44 +0000 (23:30 +0100)

Merge branch 'pt/non-mouse-usage' into pu

Merge branch 'pt/git4win-mods' into puPat Thoyts Mon, 3 Oct 2016 22:30:32 +0000 (23:30 +0100)

Merge branch 'pt/git4win-mods' into pu

Merge branch 'patches' into puPat Thoyts Mon, 3 Oct 2016 22:28:57 +0000 (23:28 +0100)

Merge branch 'patches' into pu

git-gui: ensure the file in the diff pane is in the... 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>

git-gui: support for $FILENAMES in tool definitionsAlex 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>

git-gui: fix initial git gui message encodingyaras 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>

git-gui/po/glossary/txt-to-pot.sh: use the $( ... ... 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>

Merge branch 'va/i18n' into puPat Thoyts Mon, 3 Oct 2016 22:23:27 +0000 (23:23 +0100)

Merge branch 'va/i18n' into pu

Merge branch 'rs/use-modern-git-merge-syntax' into puPat Thoyts Mon, 3 Oct 2016 22:23:19 +0000 (23:23 +0100)

Merge branch 'rs/use-modern-git-merge-syntax' into pu

Merge branch 'js/commit-gpgsign' into puPat Thoyts Mon, 3 Oct 2016 22:23:05 +0000 (23:23 +0100)

Merge branch 'js/commit-gpgsign' into pu

Merge branch 'sy/i18n' into puPat Thoyts Mon, 3 Oct 2016 22:22:46 +0000 (23:22 +0100)

Merge branch 'sy/i18n' into pu

git-gui (Windows): use git-gui.exe in `Create Desktop... 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>

git-gui: fix detection of CygwinPat 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>

Amend tab ordering and text widget border and highlighting.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>

Allow keyboard control to work in the staging widgets.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>

git-gui: l10n: add Portuguese translationVasco 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>

git-gui i18n: mark strings for translationVasco 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>

git-gui: stop using deprecated merge syntaxRené 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>

git-gui: respect commit.gpgsign againJohannes 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>

git-gui: update Japanese informationSatoshi 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>

git-gui: update Japanese translationSatoshi 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>

git-gui: add Japanese language codeSatoshi 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>

git-gui: apply po template to Japanese translationSatoshi 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>

git-gui: consistently use the same word for "blame... 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>

git-gui: consistently use the same word for "remote... 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>

git-gui: Do not reset author details on amendOrgad 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>

git-gui: sort entries in tclIndexOlaf 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>

git-gui: set version 0.20 gitgui-0.20.0Pat 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>

git-gui: sv.po: Update Swedish translation (547t0f0u)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>

git-gui i18n: Updated Bulgarian translation (547t,0f,0u)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>

git-gui: Makes chooser set 'gitdir' to the resolved... 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>

git-gui: Fixes chooser not accepting gitfilesRemi 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>

git-gui: reinstate support for Tcl 8.4Kyle 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>

git-gui: fix problem with gui.maxfilesdisplayedCsaba 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>

git-gui: fix verbose loading when git path contains... 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>

git-gui/gitk: Do not depend on Cygwin's "kill" command... 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>

git-gui: add configurable tab size to the diff viewMichael 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>

git-gui: Make git-gui lib dir configurable at runimeDavid 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>

git-gui i18n: Updated Bulgarian translation (520t,0f,0u)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>

Merge remote-tracking branch 'vnwildman/master'Pat Thoyts Sun, 29 Jun 2014 11:59:15 +0000 (12:59 +0100)

Merge remote-tracking branch 'vnwildman/master'

L10n: vi.po (543t): Init translation for VietnameseTrầ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>

git-gui: align the new recursive checkbox with the... 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>

git-gui: Add a 'recursive' checkbox in the clone menu.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>

git-gui: tolerate major version changes when comparing... 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>

git-gui: show staged submodules regardless of ignore... 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>

git-gui 0.19 gitgui-0.19.0Pat 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>

git-gui: chmod +x po2msg, windows/git-gui.shJonathan 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>

git-gui: fallback right pane to packed widgets with... 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>

git-gui i18n: Added Bulgarian translationAlexander 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>

git-gui l10n: Add 29 more terms to glossaryAlexander 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>

git-gui i18n: Initial glossary in BulgarianAlexander 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>

git-gui: correct spelling errors in commentsMasanari 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>

git-gui: add menu item to launch a bash shell on Windows.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>

git-gui: corrected setup of git worktree under cygwin.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>

git-gui: right half window is panedMax 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>

git-gui: Add gui.displayuntracked optionMax 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>

git-gui: show the maxrecentrepo config option in the... 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>

git-gui: added gui.maxrecentrepo to extend the number... 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>

git-gui: Improve font rendering on retina macbooksMads 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>

git-gui 0.18 gitgui-0.18.0Pat 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>

git-gui: avoid an error message when removing the last... 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>

git-gui: fix file name handling with non-empty prefixJohn 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>

git-gui: bring wish process to front on MacStefan 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>

git-gui: change dialog button positions for Windows... 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>

git-gui: allow "\ No newline at end of file" for linewi... 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>