]> git.ipfire.org Git - thirdparty/git.git/log
thirdparty/git.git
4 years agoMerge branch 'ka/japanese-translation'
Pratyush Yadav [Mon, 14 Oct 2019 17:52:50 +0000 (23:22 +0530)] 
Merge branch 'ka/japanese-translation'

Improve Japanese translation.

* ka/japanese-translation:
  git-gui: improve Japanese translation

4 years agogit-gui: improve Japanese translation
kdnakt [Mon, 14 Oct 2019 01:31:38 +0000 (01:31 +0000)] 
git-gui: improve Japanese translation

Signed-off-by: kdnakt <a.kid.1985@gmail.com>
Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
4 years agoMerge branch 'py/readme'
Pratyush Yadav [Sat, 12 Oct 2019 16:10:25 +0000 (21:40 +0530)] 
Merge branch 'py/readme'

Add a readme to introduce people finding the repo to the project.

* py/readme:
  git-gui: add a readme

4 years agogit-gui: add a readme
Pratyush Yadav [Fri, 4 Oct 2019 19:53:08 +0000 (01:23 +0530)] 
git-gui: add a readme

It is a good idea to have a readme so people finding the project can
know more about it, and know how they can get involved.

Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
Acked-by: Bert Wesarg <bert.wesarg@googlemail.com>
4 years agoMerge branch 'bw/diff3-conflict-style'
Pratyush Yadav [Thu, 3 Oct 2019 21:57:53 +0000 (03:27 +0530)] 
Merge branch 'bw/diff3-conflict-style'

git-gui now highlights diff3 style conflicts properly. As an auxiliary
change, querying a path's attribute is done via the existing interface
instead of hand-rolling the code.

* bw/diff3-conflict-style:
  git-gui: support for diff3 conflict style
  git-gui: use existing interface to query a path's attribute

4 years agogit-gui: support for diff3 conflict style
Bert Wesarg [Wed, 2 Oct 2019 07:36:02 +0000 (09:36 +0200)] 
git-gui: support for diff3 conflict style

This adds highlight support for the diff3 conflict style.

The common pre-image will be reversed to --, because it has been removed
and replaced with ours or theirs side respectively.

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
4 years agogit-gui: use existing interface to query a path's attribute
Bert Wesarg [Mon, 30 Sep 2019 19:54:52 +0000 (21:54 +0200)] 
git-gui: use existing interface to query a path's attribute

Replace the hand-coded call to git check-attr with the already provided one.

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
4 years agoMerge branch 'js/git-bash-if-available'
Pratyush Yadav [Wed, 2 Oct 2019 23:11:58 +0000 (04:41 +0530)] 
Merge branch 'js/git-bash-if-available'

git-gui will now use git-bash instead of bash on Windows, if it is
available.

* js/git-bash-if-available:
  git-gui (Windows): use git-bash.exe if it is available

4 years agogit-gui (Windows): use git-bash.exe if it is available
Thomas Klaeger [Thu, 26 Sep 2019 17:46:19 +0000 (10:46 -0700)] 
git-gui (Windows): use git-bash.exe if it is available

Git for Windows 2.x ships with an executable that starts the Git Bash
with all the environment variables and what not properly set up. It is
also adjusted according to the Terminal emulator option chosen when
installing Git for Windows (while `bash.exe --login -i` would always
launch with Windows' default console).

So let's use that executable (usually C:\Program Files\Git\git-bash.exe)
instead of `bash.exe --login -i` if its presence was detected.

This fixes https://github.com/git-for-windows/git/issues/490

Signed-off-by: Thomas Kläger <thomas.klaeger@10a.ch>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
4 years agoMerge branch 'py/git-git-extra-stuff'
Pratyush Yadav [Tue, 24 Sep 2019 14:20:33 +0000 (19:50 +0530)] 
Merge branch 'py/git-git-extra-stuff'

Some changes were added directly to git.git's git-gui subtree, instead
of being added to the separate git-gui repo and then being pulled back
into git.git. This means those changes are now not in the git-gui tree.
So pull them back into git-gui so we match with what git.git has (after
they pull in the recently added commits).

Most of the changes could be added back in via an octopus merge of all
the missing branches. But there were two commits (faf420e05a and
b71c6c3b64) which touched other parts of git.git along with git-gui, so
they had to be added back in via a cherry-pick because directly pulling
them in would also pull in all the ancestors of those commits,
needlessly bloating git-gui with git.git's history.

Thanks to Denton Liu <liu.denton@gmail.com> for providing me with a
script to generate and merge all the branches that were missing, which
made this task much easier.

* py/git-git-extra-stuff:
  treewide: correct several "up-to-date" to "up to date"
  Fix build with core.autocrlf=true
  git-gui: call do_quit before destroying the main window
  git-gui: workaround ttk:style theme use
  git-gui: bind CTRL/CMD+numpad ENTER to do_commit
  git-gui: search for all current SSH key types
  git-gui: allow Ctrl+T to toggle multiple paths
  git-gui: fix exception when trying to stage with empty file list
  git-gui: avoid exception upon Ctrl+T in an empty list
  git gui: fix staging a second line to a 1-line file
  git-gui: prevent double UTF-8 conversion
  git-gui: sort entries in optimized tclIndex
  Replace Free Software Foundation address in license notices
  git-gui (MinGW): make use of MSys2's msgfmt

4 years agotreewide: correct several "up-to-date" to "up to date"
Martin Ågren [Wed, 23 Aug 2017 17:49:35 +0000 (19:49 +0200)] 
treewide: correct several "up-to-date" to "up to date"

Follow the Oxford style, which says to use "up-to-date" before the noun,
but "up to date" after it. Don't change plumbing (specifically
send-pack.c, but transport.c (git push) also has the same string).

This was produced by grepping for "up-to-date" and "up to date". It
turned out we only had to edit in one direction, removing the hyphens.

Fix a typo in Documentation/git-diff-index.txt while we're there.

Reported-by: Jeffrey Manian <jeffrey.manian@gmail.com>
Reported-by: STEVEN WHITE <stevencharleswhitevoices@gmail.com>
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
4 years agoFix build with core.autocrlf=true
Johannes Schindelin [Tue, 9 May 2017 12:53:21 +0000 (14:53 +0200)] 
Fix build with core.autocrlf=true

On Windows, the default line endings are denoted by a Carriage Return
byte followed by a Line Feed byte, while Linux and MacOSX use a single
Line Feed byte to denote a line ending.

To help with this situation, Git introduced several mechanisms over the
last decade, most prominently the `core.autocrlf` setting.

Sometimes, however, a single setting is incorrect, e.g. when certain
files in the source code are to be consumed by software that can handle
only LF line endings, while other files can use whatever is appropriate
for the current platform.

To allow for that, Git added the `eol` option to its .gitattributes
handling, expecting every user of Git to mark their source code
appropriately.

Bash assumes that line-endings of scripts are denoted by a single Line
Feed byte. Therefore, shell scripts in Git's source code are one example
where that `eol=lf` option is *required*.

When generating common-cmds.h, the Unix tools we use generally operate on
the assumption that input and output deliminate their lines using LF-only
line endings. Consequently, they would happily copy the CR byte verbatim
into the strings in common-cmds.h, which in turn makes the C preprocessor
barf (that interprets them as MacOS-style line endings). Therefore, we
have to mark the input files as LF-only: command-list.txt and
Documentation/git-*.txt.

Quite a bit belatedly, this patch brings Git's own source code in line
with those expectations by setting those attributes to allow for a
correct build even when core.autocrlf=true.

This patch can be validated even on Linux, by using this cadence:

git config core.autocrlf true
rm .git/index && git stash
make -j15 DEVELOPER=1

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
4 years agoMerge branches 'js/msgfmt-on-windows', 'tz/fsf-address-update', 'jn/reproducible...
Pratyush Yadav [Thu, 19 Sep 2019 17:52:03 +0000 (23:22 +0530)] 
Merge branches 'js/msgfmt-on-windows', 'tz/fsf-address-update', 'jn/reproducible-build', 'ls/no-double-utf8-author-name', 'js/misc-git-gui-stuff', 'bb/ssh-key-files', 'bp/bind-kp-enter', 'cb/ttk-style' and 'py/call-do-quit-before-exit' of ../git into py/git-git-extra-stuff

4 years agoMerge 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"

4 years agogit-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>
4 years agoMerge 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

4 years agoMerge 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

4 years agogit-gui: add horizontal scrollbar to commit buffer
Bert 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>
4 years agogit-gui: convert new/amend commit radiobutton to checkbutton
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>
4 years agoMerge 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

4 years agoMerge 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

4 years agogit-gui: add hotkeys to set widget focus
Birger 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>
4 years agogit-gui: allow undoing last revert
Pratyush 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>
4 years agogit-gui: return early when patch fails to apply
Pratyush 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>
4 years agogit-gui: allow reverting selected hunk
Pratyush 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>
4 years agogit-gui: allow reverting selected lines
Pratyush 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>
4 years agogit-gui: call do_quit before destroying the main window
Pratyush Yadav [Sun, 4 Aug 2019 14:39:19 +0000 (20:09 +0530)] 
git-gui: call do_quit before destroying the main window

If the toplevel window for the window being destroyed is the main window
(aka "."), then simply destroying it means the cleanup tasks are not
executed (like saving the commit message buffer, saving window state,
etc.)

All this is handled by do_quit.  Call it instead of directly
destroying the main window. For other toplevel windows, the old
behavior remains.

Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agogit-gui: workaround ttk:style theme use
Clemens Buchacher [Sat, 3 Mar 2018 22:39:19 +0000 (23:39 +0100)] 
git-gui: workaround ttk:style theme use

Tk 8.5.7, which is the latest version on Centos 6, does not support
getting the current theme with [ttk::style theme use]. Use the existing
workaround for this in all places.

Signed-off-by: Clemens Buchacher <drizzd@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agogit-gui: bind CTRL/CMD+numpad ENTER to do_commit
Birger Skogeng Pedersen [Fri, 2 Mar 2018 10:01:48 +0000 (11:01 +0100)] 
git-gui: bind CTRL/CMD+numpad ENTER to do_commit

CTRL/CMD+ENTER is bound to do_commit, but this did not apply for the
(numpad ENTER) key. To enable CTRL/CMD+ENTER and CTRL/CMD+(numpad ENTER)
to yield the same behaviour, CTRL/CMD+(numpad enter) has also been bound
to do_commit.

Signed-off-by: Birger Skogeng Pedersen <birgersp@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agogit-gui: search for all current SSH key types
Beat Bolli [Sat, 24 Feb 2018 18:39:13 +0000 (19:39 +0100)] 
git-gui: search for all current SSH key types

OpenSSH has supported Ed25519 keys since version 6.4 (2014-01-30), and
ECDSA keys since version 5.7 (2011-01-24). git-gui fails to find these
key types in its Help/Show SSH Key dialog.

Teach git-gui to show Ed25519 and ECDSA keys as well.

This was originally reported in
https://github.com/git-for-windows/git/issues/1487 and subseqently in
https://public-inbox.org/git/F65780F29E48994380E2BCE87C6F071101146AB1@DEERLM99EX2MSX.ww931.my-it-solutions.net/

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agogit-gui: allow Ctrl+T to toggle multiple paths
Johannes Schindelin [Tue, 9 Jan 2018 14:33:04 +0000 (15:33 +0100)] 
git-gui: allow Ctrl+T to toggle multiple paths

It is possible to select multiple files in the "Unstaged Changes" and
the "Staged Changes" lists. But when hitting Ctrl+T, surprisingly only
one entry is handled, not all selected ones.

Let's just use the same code path as for the "Stage To Commit" and the
"Unstage From Commit" menu items.

This fixes https://github.com/git-for-windows/git/issues/1012

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agogit-gui: fix exception when trying to stage with empty file list
Johannes Schindelin [Tue, 9 Jan 2018 14:33:01 +0000 (15:33 +0100)] 
git-gui: fix exception when trying to stage with empty file list

If there is nothing to stage, there is nothing to stage. Let's not try
to, even if the file list contains nothing at all.

This fixes https://github.com/git-for-windows/git/issues/1075

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agogit-gui: avoid exception upon Ctrl+T in an empty list
Johannes Schindelin [Tue, 9 Jan 2018 14:32:58 +0000 (15:32 +0100)] 
git-gui: avoid exception upon Ctrl+T in an empty list

Previously unstaged files can be staged by clicking on them and then
pressing Ctrl+T. Conveniently, the next unstaged file is selected
automatically so that the unstaged files can be staged by repeatedly
pressing Ctrl+T.

When a user hits Ctrl+T one time too many, though, Git GUI used to throw
this exception:

expected number but got ""
expected number but got ""
    while executing
"expr {int([lindex [$w tag ranges in_diff] 0])}"
    (procedure "toggle_or_diff" line 13)
    invoked from within
"toggle_or_diff toggle .vpane.files.workdir.list "
    (command bound to event)

Let's just avoid that by skipping the operation when there are no more
files to stage.

This fixes https://github.com/git-for-windows/git/issues/1060

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agogit gui: fix staging a second line to a 1-line file
Johannes Schindelin [Tue, 9 Jan 2018 14:32:54 +0000 (15:32 +0100)] 
git gui: fix staging a second line to a 1-line file

When a 1-line file is augmented by a second line, and the user tries to
stage that single line via the "Stage Line" context menu item, we do not
want to see "apply: corrupt patch at line 5".

The reason for this error was that the hunk header looks like this:

@@ -1 +1,2 @@

but the existing code expects the original range always to contain a
comma. This problem is easily fixed by cutting the string "1 +1,2"
(that Git GUI formerly mistook for the starting line) at the space.

This fixes https://github.com/git-for-windows/git/issues/515

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agogit-gui: prevent double UTF-8 conversion
Łukasz Stelmach [Tue, 5 Dec 2017 14:23:26 +0000 (15:23 +0100)] 
git-gui: prevent double UTF-8 conversion

Convert author's name and e-mail address from the UTF-8 (or any other)
encoding in load_last_commit function the same way commit message is
converted.

Amending commits in git-gui without such conversion breaks UTF-8
strings. For example, "\305\201ukasz" (as written by git cat-file) becomes
"\303\205\302\201ukasz" in an amended commit.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agogit-gui: sort entries in optimized tclIndex
Anders Kaseorg [Wed, 16 Nov 2016 21:37:17 +0000 (16:37 -0500)] 
git-gui: sort entries in optimized tclIndex

auto_mkindex expands wildcards in directory order, which depends on
the underlying filesystem.  To improve build reproducibility, sort the
list of *.tcl files in the Makefile.

The unoptimized loading case was previously fixed in gitgui-0.21.0~14
(git-gui: sort entries in tclIndex, 2015-01-26).

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoReplace Free Software Foundation address in license notices
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>
6 years agogit-gui (MinGW): make use of MSys2's msgfmt
Johannes Schindelin [Tue, 25 Jul 2017 08:35:57 +0000 (10:35 +0200)] 
git-gui (MinGW): make use of MSys2's msgfmt

When Git for Windows was still based on MSys1, we had no gettext, ergo
no msgfmt, either. Therefore, we introduced a small and simple Tcl
script to perform the same task.

However, with MSys2, we no longer need that because we have a proper
msgfmt executable. Plus, the po2msg.sh script somehow manages to hang
when run in parallel in Git for Windows' SDK (symptom: the Continuous
Testing tasks timing out).

Two reasons to use real msgfmt.exe instead.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge 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>
7 years agogit gui: allow for a long recentrepo list
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>
7 years agogit gui: de-dup selected repo from recentrepo history
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>
7 years agogit gui: cope with duplicates in _get_recentrepo
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>
7 years agogit-gui: remove duplicate entries from .gitconfig's gui.recentrepo
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>
7 years agogit-gui: set version 0.21 gitgui-0.21.0
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>
7 years agoMerge branch 'as/bulgarian' into pu
Pat Thoyts [Thu, 20 Oct 2016 10:13:42 +0000 (11:13 +0100)] 
Merge branch 'as/bulgarian' into pu

7 years agogit-gui: Mark 'All' in remote.tcl for translation
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>
7 years agogit-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>
7 years agoMerge branch 'os/preserve-author' into pu
Pat Thoyts [Thu, 20 Oct 2016 10:07:24 +0000 (11:07 +0100)] 
Merge branch 'os/preserve-author' into pu

7 years agoMerge branch 'kb/unicode' into pu
Pat Thoyts [Thu, 20 Oct 2016 10:06:28 +0000 (11:06 +0100)] 
Merge branch 'kb/unicode' into pu

7 years agogit-gui: avoid persisting modified author identity
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>
7 years agogit-gui: handle the encoding of Git's output correctly
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>
7 years agogit-gui: unicode file name support on windows
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>
7 years agoMerge branch 'dr/ru' into pu
Pat Thoyts [Tue, 4 Oct 2016 22:29:40 +0000 (23:29 +0100)] 
Merge branch 'dr/ru' into pu

7 years agogit-gui: Update Russian translation
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>
7 years agogit-gui: maintain backwards compatibility for merge syntax
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>
7 years agoMerge branch 'va/i18n_2' into pu
Pat Thoyts [Mon, 3 Oct 2016 22:40:50 +0000 (23:40 +0100)] 
Merge branch 'va/i18n_2' into pu

7 years agogit-gui i18n: mark string in lib/error.tcl for translation
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>
7 years agogit-gui: fix incorrect use of Tcl append command
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>
7 years agogit-gui i18n: mark "usage:" strings for translation
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>
7 years agogit-gui i18n: internationalize use of colon punctuation
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>
7 years agoMerge branch 'pt/non-mouse-usage' into pu
Pat Thoyts [Mon, 3 Oct 2016 22:30:44 +0000 (23:30 +0100)] 
Merge branch 'pt/non-mouse-usage' into pu

7 years agoMerge branch 'pt/git4win-mods' into pu
Pat Thoyts [Mon, 3 Oct 2016 22:30:32 +0000 (23:30 +0100)] 
Merge branch 'pt/git4win-mods' into pu

7 years agoMerge branch 'patches' into pu
Pat Thoyts [Mon, 3 Oct 2016 22:28:57 +0000 (23:28 +0100)] 
Merge branch 'patches' into pu

7 years agogit-gui: ensure the file in the diff pane is in the list of selected files
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>
7 years agogit-gui: support for $FILENAMES in tool definitions
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>
7 years agogit-gui: fix initial git gui message encoding
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>
7 years agogit-gui/po/glossary/txt-to-pot.sh: use the $( ... ) construct for command substitution
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>
7 years agoMerge branch 'va/i18n' into pu
Pat Thoyts [Mon, 3 Oct 2016 22:23:27 +0000 (23:23 +0100)] 
Merge branch 'va/i18n' into pu

7 years agoMerge branch 'rs/use-modern-git-merge-syntax' 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

7 years agoMerge branch 'js/commit-gpgsign' into pu
Pat Thoyts [Mon, 3 Oct 2016 22:23:05 +0000 (23:23 +0100)] 
Merge branch 'js/commit-gpgsign' into pu

7 years agoMerge branch 'sy/i18n' into pu
Pat Thoyts [Mon, 3 Oct 2016 22:22:46 +0000 (23:22 +0100)] 
Merge branch 'sy/i18n' into pu

7 years agogit-gui (Windows): use git-gui.exe in `Create Desktop Shortcut`
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>
7 years agogit-gui: fix detection of Cygwin
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>
7 years agoAmend 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>
7 years agoAllow 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>
7 years agogit-gui: l10n: add Portuguese translation
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>
7 years agogit-gui i18n: mark strings for translation
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>
7 years agogit-gui: stop using deprecated merge syntax
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>
7 years agogit-gui: respect commit.gpgsign again
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>
7 years agogit-gui: update Japanese information
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>
7 years agogit-gui: update Japanese translation
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>
7 years agogit-gui: add Japanese language code
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>
7 years agogit-gui: apply po template to Japanese translation
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>
7 years agogit-gui: consistently use the same word for "blame" in Japanese
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>
7 years agogit-gui: consistently use the same word for "remote" in Japanese
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>
8 years agogit-gui: Do not reset author details on amend
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>
8 years agogit-gui: sort entries in tclIndex
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>
9 years agogit-gui: set version 0.20 gitgui-0.20.0
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>
9 years agogit-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>
9 years agogit-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>
9 years agogit-gui: Makes chooser set 'gitdir' to the resolved path
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>
9 years agogit-gui: Fixes chooser not accepting gitfiles
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>
9 years agogit-gui: reinstate support for Tcl 8.4
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>
9 years agogit-gui: fix problem with gui.maxfilesdisplayed
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>
9 years agogit-gui: fix verbose loading when git path contains spaces.
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>
9 years agogit-gui/gitk: Do not depend on Cygwin's "kill" command on Windows
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>
9 years agogit-gui: add configurable tab size to the diff view
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>
9 years agogit-gui: Make git-gui lib dir configurable at runime
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>
9 years agogit-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>
9 years agoMerge remote-tracking branch 'vnwildman/master'
Pat Thoyts [Sun, 29 Jun 2014 11:59:15 +0000 (12:59 +0100)] 
Merge remote-tracking branch 'vnwildman/master'