git
8 years agogitk: Update French translation (311t)
Jean-Noel Avila [Fri, 29 Jan 2016 20:21:34 +0000 (21:21 +0100)] 
gitk: Update French translation (311t)

Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Update German translation
Ralf Thielow [Fri, 12 Feb 2016 18:40:39 +0000 (19:40 +0100)] 
gitk: Update German translation

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Update Bulgarian translation (311t)
Alexander Shopov [Sat, 19 Dec 2015 22:36:09 +0000 (00:36 +0200)] 
gitk: Update Bulgarian translation (311t)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agoMerge branch 'ja.po' of https://github.com/qykth-git/gitk
Paul Mackerras [Sat, 19 Dec 2015 02:33:16 +0000 (13:33 +1100)] 
Merge branch 'ja.po' of https://github.com/qykth-git/gitk

8 years agoMerge branch 'color-fix' of https://github.com/qykth-git/gitk
Paul Mackerras [Sat, 19 Dec 2015 02:29:35 +0000 (13:29 +1100)] 
Merge branch 'color-fix' of https://github.com/qykth-git/gitk

8 years agogitk: sv.po: Update Swedish translation (311t)
Peter Krefting [Fri, 11 Dec 2015 08:49:21 +0000 (09:49 +0100)] 
gitk: sv.po: Update Swedish translation (311t)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Let .bleft.mid widgets 'breathe'
Giuseppe Bilotta [Tue, 8 Dec 2015 07:05:51 +0000 (08:05 +0100)] 
gitk: Let .bleft.mid widgets 'breathe'

The widgets on top of the diff window are very tightly packed. Make
them breathe a little by adding an 'i'-spaced padding between them.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Match ttk fonts to gitk fonts
Giuseppe Bilotta [Tue, 8 Dec 2015 07:05:50 +0000 (08:05 +0100)] 
gitk: Match ttk fonts to gitk fonts

The fonts set in setoptions aren't consistently picked up by ttk, which
uses its own predefined fonts. This is noticeable when switching
between using and not using ttk with custom fonts or in HiDPI settings
(where the default TTK fonts do _not_ respect tk sclaing).

Fix by mapping the ttk fontset to the one used by gitk internally.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Update revision date in Japanese PO file
YOKOTA Hiroshi [Thu, 12 Nov 2015 04:01:44 +0000 (13:01 +0900)] 
gitk: Update revision date in Japanese PO file

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Update "Language:" header
YOKOTA Hiroshi [Sat, 24 Oct 2015 16:34:36 +0000 (01:34 +0900)] 
gitk: Update "Language:" header

msgfmt(1) wants this header.

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Improve translation message
YOKOTA Hiroshi [Sat, 24 Oct 2015 16:32:28 +0000 (01:32 +0900)] 
gitk: Improve translation message

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Remove unused line
YOKOTA Hiroshi [Sat, 24 Oct 2015 14:21:25 +0000 (23:21 +0900)] 
gitk: Remove unused line

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Update year
YOKOTA Hiroshi [Sat, 24 Oct 2015 14:07:55 +0000 (23:07 +0900)] 
gitk: Update year

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Change last translator line
YOKOTA Hiroshi [Sat, 24 Oct 2015 14:04:54 +0000 (23:04 +0900)] 
gitk: Change last translator line

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Update fuzzy messages
YOKOTA Hiroshi [Thu, 12 Nov 2015 06:14:34 +0000 (15:14 +0900)] 
gitk: Update fuzzy messages

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Update Japanese translation
YOKOTA Hiroshi [Sat, 24 Oct 2015 12:55:02 +0000 (21:55 +0900)] 
gitk: Update Japanese translation

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Fix translation around copyright sign
YOKOTA Hiroshi [Sat, 24 Oct 2015 12:35:56 +0000 (21:35 +0900)] 
gitk: Fix translation around copyright sign

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Update Japanese translation
YOKOTA Hiroshi [Sat, 24 Oct 2015 12:31:08 +0000 (21:31 +0900)] 
gitk: Update Japanese translation

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Fix wrong translation
YOKOTA Hiroshi [Sat, 24 Oct 2015 12:25:42 +0000 (21:25 +0900)] 
gitk: Fix wrong translation

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Translate Japanese catalog
YOKOTA Hiroshi [Sat, 24 Oct 2015 12:12:39 +0000 (21:12 +0900)] 
gitk: Translate Japanese catalog

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Translate more to Japanese catalog
YOKOTA Hiroshi [Sat, 24 Oct 2015 11:23:00 +0000 (20:23 +0900)] 
gitk: Translate more to Japanese catalog

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Update Japanese message catalog
YOKOTA Hiroshi [Sat, 24 Oct 2015 10:53:23 +0000 (19:53 +0900)] 
gitk: Update Japanese message catalog

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Re-sync line number in Japanese message catalogue
YOKOTA Hiroshi [Thu, 12 Nov 2015 03:34:43 +0000 (12:34 +0900)] 
gitk: Re-sync line number in Japanese message catalogue

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agogitk: Color name update
YOKOTA Hiroshi [Sat, 24 Oct 2015 16:58:41 +0000 (01:58 +0900)] 
gitk: Color name update

 Color name "green" was darken since Tcl/Tk 7.6.
 Because color name scheme was changed from "X11 colors" to "Web colors".

 Use "lime" to keep colors.

See also:
http://www.tcl.tk/cgi-bin/tct/tip/403.html

Signed-off-by: YOKOTA Hiroshi <yokota@netlab.cs.tsukuba.ac.jp>
8 years agoMerge https://github.com/vnwildman/gitk
Paul Mackerras [Fri, 30 Oct 2015 10:01:55 +0000 (21:01 +1100)] 
Merge https://github.com/vnwildman/gitk

This brings in an update to the Vietnamese translation.

Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Update Russian translation
Dimitriy Ryazantcev [Tue, 13 Oct 2015 09:52:46 +0000 (12:52 +0300)] 
gitk: Update Russian translation

Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Add accelerator to German locale
Takashi Iwai [Tue, 20 Oct 2015 12:33:04 +0000 (14:33 +0200)] 
gitk: Add accelerator to German locale

Assigned either to the first letter or some unique letter.  At least
there are no conflicts, as far as I see...

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Add accelerators to Japanese locale
Takashi Iwai [Tue, 20 Oct 2015 12:33:03 +0000 (14:33 +0200)] 
gitk: Add accelerators to Japanese locale

Just follow the English accelerator keys.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Update msgid's for menu items with accelerator
Takashi Iwai [Tue, 20 Oct 2015 12:33:02 +0000 (14:33 +0200)] 
gitk: Update msgid's for menu items with accelerator

The commit d99b4b0de27a ("gitk: Accelerators for the main menu")
modified the menu item strings with the accelerator, but the
translations didn't follow, thus the menus are shown without
translations.

This patch systematically update the msgid keys just to follow this
change.  The contents aren't changed, so the accelerator won't work in
these locales for now.  Each locale translator needs to add proper
acceleration keys appropriately.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: l10n: Update Catalan translation
Alex Henrie [Tue, 6 Oct 2015 04:26:12 +0000 (22:26 -0600)] 
gitk: l10n: Update Catalan translation

The gitk included in git 2.6.0 crashes if run from a Catalan locale.
I'm hoping that a translation update will fix this.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Add missing accelerators
Beat Bolli [Wed, 30 Sep 2015 19:50:11 +0000 (21:50 +0200)] 
gitk: Add missing accelerators

In d99b4b0de27a ("gitk: Accelerators for the main menu", 2015-09-09),
accelerators were added to allow efficient keyboard navigation. One
instance of the strings "Edit view..." and "Delete view" were left
without the ampersand.

Add the missing ampersand characters to unbreak our international
users.

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agoUpdated Vietnamese translation
Trần Ngọc Quân [Tue, 15 Sep 2015 00:36:44 +0000 (07:36 +0700)] 
Updated Vietnamese translation

Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
8 years agogitk: Accelerators for the main menu
Giuseppe Bilotta [Wed, 9 Sep 2015 13:20:53 +0000 (15:20 +0200)] 
gitk: Accelerators for the main menu

This allows fast, keyboard-only usage of the menu (e.g. Alt+V, N to open a
new view).

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Adjust the menu line numbers to compensate for the new entry
Beat Bolli [Mon, 7 Sep 2015 23:16:37 +0000 (01:16 +0200)] 
gitk: Adjust the menu line numbers to compensate for the new entry

Commit d835dbb9 ("gitk: Add a "Copy commit summary" command",
2015-08-13) in the upstream gitk repo added a new context menu entry.
Therefore, the line numbers of the entries below the new one need to be
adjusted when their text or state is changed.

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Add a "Copy commit summary" command
Beat Bolli [Sat, 18 Jul 2015 11:15:39 +0000 (13:15 +0200)] 
gitk: Add a "Copy commit summary" command

When referring to earlier commits in commit messages or other text, one
of the established formats is

    <abbrev-sha> ("<summary>", <author-date>)

Add a "Copy commit summary" command to the context menu that puts this
text for the currently selected commit on the clipboard. This makes it
easy for our users to create well-formatted commit references.

The <abbrev-sha> is produced with the %h format specifier to make it
unique. Its length can be controlled with the gitk preference
"Auto-select SHA1 (length)", or, if this preference is set to its
default value (40), with the Git config setting core.abbrev.

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Update Bulgarian translation (307t)
Alexander Shopov [Sun, 28 Jun 2015 20:28:13 +0000 (23:28 +0300)] 
gitk: Update Bulgarian translation (307t)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Update .po files
Paul Mackerras [Sun, 17 May 2015 04:33:26 +0000 (14:33 +1000)] 
gitk: Update .po files

Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Update Bulgarian translation (304t)
Alexander Shopov [Tue, 7 Apr 2015 15:33:58 +0000 (18:33 +0300)] 
gitk: Update Bulgarian translation (304t)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Use translated version of "Command line" in getcommitlines
Marc Branchaud [Tue, 7 Apr 2015 15:53:37 +0000 (11:53 -0400)] 
gitk: Use translated version of "Command line" in getcommitlines

This is needed for getcommitlines to work properly when a language
translation is being used.

Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Make it easier to go quickly to a specific commit
Ismael Luceno [Wed, 15 Apr 2015 16:18:17 +0000 (13:18 -0300)] 
gitk: Make it easier to go quickly to a specific commit

Binds "g" to focus and clear the sha1 entry box.

Signed-off-by: Ismael Luceno <ismael@iodev.co.uk>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Show the current view's name in the window title
Marc Branchaud [Tue, 7 Apr 2015 15:51:51 +0000 (11:51 -0400)] 
gitk: Show the current view's name in the window title

If the current view is the "Command line" view, show the command line
arguments instead of the view name.

Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Add mouse right-click options to copy path and branch name
Michael Rappazzo [Fri, 8 May 2015 02:29:20 +0000 (22:29 -0400)] 
gitk: Add mouse right-click options to copy path and branch name

This adds menu entries to two of the right-click menus:
 - 'Copy path' in the file list
 - 'Copy branch name' on a branch in the commit list

Signed-off-by: Michael Rappazzo <rappazzo@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
8 years agogitk: Remove mc parameter from proc show_error
Alex Henrie [Mon, 11 May 2015 19:26:41 +0000 (13:26 -0600)] 
gitk: Remove mc parameter from proc show_error

This is a better fix for 8d849957d81fc0480a52570d66cc3c2a688ecb1b.

This new fix makes the strings "Sorry, gitk cannot run..." and "OK"
translatable and the string "mc" not translatable. It will take effect
the next time `make update-po` is run.

msgcat is now imported before the Tcl/Tk version check so that the mc
function is available even if the version check fails. This should not
be a problem because msgcat and ::msgcat::mc were officially added in
Tcl 8.1 (released April 29, 1999) and we are not trying to support
versions of Tcl older than that.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Fix error when changing colors after closing "List references" window
Paul Mackerras [Sun, 3 May 2015 05:11:29 +0000 (15:11 +1000)] 
gitk: Fix error when changing colors after closing "List references" window

This fixes an error that manifests itself if the user opens the
"List references" window and the closes it, and subsequently opens
the Preferences window and changes one of the colors.  When the
user clicks OK, and error popup appears with the message:

Error: invalid command name ".showrefs.list"

This is because .showrefs.list was added to the list of windows to
be notified on foreground/background color changes, but the window
no longer exists.  We fix the bug by checking whether the window
exists before trying to change its colors.  As an optimization, we
also avoid adding the .showrefs.list window to the list a second
time.

Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Replace catch {unset foo} with unset -nocomplain foo
Paul Mackerras [Sat, 2 May 2015 10:53:36 +0000 (20:53 +1000)] 
gitk: Replace catch {unset foo} with unset -nocomplain foo

This generates better bytecode in Tcl 8.6 according to
http://wiki.tcl.tk/1506.

Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Rearrange window title to be more conventional
Marc Branchaud [Mon, 23 Mar 2015 14:18:16 +0000 (10:18 -0400)] 
gitk: Rearrange window title to be more conventional

Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: sv.po: Update Swedish translation (305t0f0u)
Peter Krefting [Fri, 27 Mar 2015 09:32:36 +0000 (10:32 +0100)] 
gitk: sv.po: Update Swedish translation (305t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Fix bad English grammar "Matches none Commit Info"
Alex Henrie [Thu, 2 Apr 2015 21:05:06 +0000 (15:05 -0600)] 
gitk: Fix bad English grammar "Matches none Commit Info"

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Update .po files
Paul Mackerras [Sun, 15 Mar 2015 06:25:02 +0000 (17:25 +1100)] 
gitk: Update .po files

Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: l10n: Add Catalan translation
Alex Henrie [Mon, 2 Feb 2015 05:53:32 +0000 (22:53 -0700)] 
gitk: l10n: Add Catalan translation

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Fix typo in Russian translation
0xAX [Fri, 14 Nov 2014 11:05:28 +0000 (17:05 +0600)] 
gitk: Fix typo in Russian translation

Signed-off-by: 0xAX <kuleshovmail@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Remove tcl-format flag from a message that shouldn't have it
Alex Henrie [Thu, 22 Jan 2015 08:19:39 +0000 (01:19 -0700)] 
gitk: Remove tcl-format flag from a message that shouldn't have it

xgettext sees "% o" and interprets it as a placeholder for an octal
number preceded by a space. However, in this case it's not actually a
placeholder, and most translations will replace the "% o" sequence with
something else. Removing the tcl-format flag from this string prevents
tools like Poedit from freaking out when "% o" doesn't appear in the
translated string.

The corrected flag will appear in each translation's po file the next time
the translation is updated with `make update-po`.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Pass --invert-grep option down to "git log"
Christoph Junghans [Tue, 13 Jan 2015 01:33:32 +0000 (18:33 -0700)] 
gitk: Pass --invert-grep option down to "git log"

"git log --grep=<string>" shows only commits with messages that
match the given string, but sometimes it is useful to be able to
show only commits that do *not* have certain messages (e.g. "show
me ones that are not FIXUP commits").

Now the underlying "git log" learned the "--invert-grep" option.
The option syntactically behaves similar to "--all-match" that
requires that all of the grep strings to match and semantically
behaves the opposite---it requires that none of the grep strings to
match.

Teach "gitk" to allow users to pass it down to underlying "git log"
command by adding it to the known_view_options array.

Signed-off-by: Christoph Junghans <ottxor@gentoo.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Synchronize config file writes
Max Kirillov [Wed, 4 Mar 2015 03:58:18 +0000 (05:58 +0200)] 
gitk: Synchronize config file writes

If several gitk instances are closed simultaneously, the savestuff
procedure can run at the same time, resulting in a conflict which may
cause losing of some of the instance's changes, failing the saving
operation or even corrupting the configuration file. This can happen,
for example, at user session closing, or at group closing of all
instances of an application which is possible in some desktop
environments.

To avoid this, make sure that only one saving operation is in
progress.  It is guarded by existence of the $config_file_tmp
file. Creating the file and moving it to $config_file are both atomic
operations, so it should be reliable.

Reading does not need to be syncronized, because moving is an atomic
operation, and the $config_file always refers to a full and correct file.
But, if there is a stale $config_file_tmp file, report it at gitk start.
If such file is detected when saving, just report it abort the save, as
for other errors in saving.

Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Report errors in saving config file
Max Kirillov [Wed, 4 Mar 2015 03:58:17 +0000 (05:58 +0200)] 
gitk: Report errors in saving config file

Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Only write changed configuration variables
Max Kirillov [Wed, 4 Mar 2015 03:58:16 +0000 (05:58 +0200)] 
gitk: Only write changed configuration variables

When gitk contains some changed parameter, and there is an existing
instance of gitk where the parameter is still old, it is reverted to
that old value when that instance exits.

Instead, store a parameter in config only if it has been modified in
the exiting instance. Otherwise, preserve the value which currently is in
file.  This allows editing the configuration when several instances are
running, without rollback of the modification if some other
instance where the configuration was not edited is closed last.

For scalar variables, use trace(3tcl) to detect their change. Since
`trace` can send bogus events, doublecheck if the value has really
been changed, but once it is marked as changed, do not reset it back
to unchanged ever, because if user has restored the original value,
it's the decision which should be stored as well as modified value.

Treat view list especially: instead of rewriting the whole list, merge
individual views. Place old and updated views in their old places,
add new ones to the end of list. Collect modified views explicitly, in
newviewok{} and delview{}.

Do not merge geometry values. They are almost always changing because
user moves and resises windows, and there is no way to find which one of
the geometries is most desired. Just overwrite them unconditionally,
like earlier.

Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Enable mouse horizontal scrolling in diff pane
Gabriele Mazzotta [Sat, 15 Nov 2014 14:05:06 +0000 (15:05 +0100)] 
gitk: Enable mouse horizontal scrolling in diff pane

Currently it's required to hold Shift and scroll up and down to move
horizontally. Listen to Button-6 and Button-7 events too to make
horizontal scrolling handier with touchpads and some mice.

Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Default wrcomcmd to use --pretty=email
Chris Packham [Sun, 2 Nov 2014 08:37:50 +0000 (21:37 +1300)] 
gitk: Default wrcomcmd to use --pretty=email

This makes the "Write commit to file" context menu option generate a
file that is consumable by 'git am'.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Remove boilerplate for configuration variables
Max Kirillov [Sun, 14 Sep 2014 20:35:57 +0000 (23:35 +0300)] 
gitk: Remove boilerplate for configuration variables

Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Show detached HEAD if --all is specified
Max Kirillov [Tue, 9 Sep 2014 07:29:16 +0000 (10:29 +0300)] 
gitk: Show detached HEAD if --all is specified

If HEAD is detached, 'gitk --all' does not show it. This is inconvenient
for frontend program, and for example git log does show the detached HEAD.

gitk uses git rev-parse to find a list of branches to show.
Apparently, the command does not include detached HEAD to output if
--all argument is specified. This has been discussed in [1] and stated
as expected behavior. So rev-parse's parameters should be tuned in gitk.

[1] http://thread.gmane.org/gmane.comp.version-control.git/255996

Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Do not depend on Cygwin's "kill" command on Windows
Sebastian Schuberth [Thu, 23 Oct 2014 19:30:54 +0000 (21:30 +0200)] 
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 by 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: Paul Mackerras <paulus@samba.org>
9 years agogitk: Updated Bulgarian translation (302t,0f,0u)
Alexander Shopov [Sun, 3 Aug 2014 12:36:43 +0000 (15:36 +0300)] 
gitk: Updated Bulgarian translation (302t,0f,0u)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Add keybinding to switch to parent commit
Max Kirillov [Tue, 8 Jul 2014 20:45:35 +0000 (23:45 +0300)] 
gitk: Add keybinding to switch to parent commit

Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Add visiblerefs option, which lists always-shown branches
Max Kirillov [Tue, 24 Jun 2014 05:19:44 +0000 (08:19 +0300)] 
gitk: Add visiblerefs option, which lists always-shown branches

When many branches contain a commit, the branches used to be shown in
the form "A, B and many more", where A, B can be master of current
HEAD. But there are more which might be interesting to always know about.
For example, "origin/master".

The new option, visiblerefs, is stored in ~/.gitk. It contains a list
of references which are always shown before "and many more" if they
contain the commit. By default it is `{"master"}', which is compatible
with previous behavior.

Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Catch mkdtemp errors
David Aguilar [Thu, 19 Jun 2014 02:53:14 +0000 (19:53 -0700)] 
gitk: Catch mkdtemp errors

105b5d3f ("gitk: Use mktemp -d to avoid predictable temporary
directories") introduced a dependency on mkdtemp, which is not
available on Windows.

Use the original temporary directory behavior when mkdtemp fails.
This makes the code use mkdtemp when available and gracefully
fallback to the existing behavior when it is not available.

Helped-by: Junio C Hamano <gitster@pobox.com>
Helped-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Use mktemp -d to avoid predictable temporary directories
David Aguilar [Fri, 13 Jun 2014 21:43:48 +0000 (14:43 -0700)] 
gitk: Use mktemp -d to avoid predictable temporary directories

gitk uses a predictable ".gitk-tmp.$PID" pattern when generating
a temporary directory.

Use "mktemp -d .gitk-tmp.XXXXXX" to harden gitk against someone
seeding /tmp with files matching the pid pattern.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Honor TMPDIR when viewing external diffs
David Aguilar [Fri, 13 Jun 2014 21:13:37 +0000 (14:13 -0700)] 
gitk: Honor TMPDIR when viewing external diffs

gitk fails to show diffs when browsing a read-only repository.
This is due to gitk's assumption that the current directory is always
writable.

Teach gitk to honor either the GITK_TMPDIR or TMPDIR environment
variables.  This allows users to override the default location
used when writing temporary files.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Show staged submodules regardless of ignore config
Jens Lehmann [Tue, 8 Apr 2014 19:36:08 +0000 (21:36 +0200)] 
gitk: 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 gitk. 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
"Local changes checked in to index but not committed".

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: Paul Mackerras <paulus@samba.org>
9 years agogitk: Allow displaying time zones from author and commit dates timestamps
Anders Kaseorg [Mon, 12 May 2014 11:25:58 +0000 (07:25 -0400)] 
gitk: Allow displaying time zones from author and commit dates timestamps

Now gitk can be configured to display author and commit dates in their
original timezone, by putting %z into datetimeformat in ~/.gitk.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Switch to patch mode when searching for line origin
Max Kirillov [Sat, 5 Apr 2014 20:38:50 +0000 (23:38 +0300)] 
gitk: Switch to patch mode when searching for line origin

If the "Show origin of this line" is started from tree mode,
it still shows the result in tree mode, which I suppose not
what user expects to see.

Signed-off-by: Paul Mackerras <paulus@samba.org>
9 years agogitk: Replace SHA1 entry field on keyboard paste
Ilya Bobyr [Thu, 20 Mar 2014 08:58:51 +0000 (01:58 -0700)] 
gitk: Replace SHA1 entry field on keyboard paste

We already replace old SHA with the clipboard content for the mouse
paste event.  It seems reasonable to do the same when pasting from
keyboard.

Signed-off-by: Ilya Bobyr <ilya.bobyr@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Merge branch 'new' of https://github.com/vnwildman/gitk
Paul Mackerras [Fri, 21 Feb 2014 01:08:41 +0000 (12:08 +1100)] 
gitk: Merge branch 'new' of https://github.com/vnwildman/gitk

to get Vietnamese translations for gitk.

Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Indent word-wrapped lines in commit display header
Paul Mackerras [Thu, 23 Jan 2014 11:06:22 +0000 (22:06 +1100)] 
gitk: Indent word-wrapped lines in commit display header

In the cases where the lines starting with Precedes:, Follows: and
Branches: in the commit display are long enough to be word-wrapped,
this adds a 1cm margin on the left of the wrapped lines, to make
the display more readable.  Suggested by Stephen Rothwell.

Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Comply with XDG base directory specification
Astril Hayato [Tue, 21 Jan 2014 19:10:16 +0000 (19:10 +0000)] 
gitk: Comply with XDG base directory specification

Write the gitk config data to $XDG_CONFIG_HOME/git/gitk ($HOME/.config/git/gitk
by default) in line with the XDG specification. This makes it consistent with
git which also follows the spec.

If $HOME/.gitk already exists use that for backward compatibility, so only new
installations are affected.

Signed-off-by: Astril Hayato <astrilhayato@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Replace "next" and "prev" buttons with down and up arrows
Marc Branchaud [Wed, 18 Dec 2013 16:04:13 +0000 (11:04 -0500)] 
gitk: Replace "next" and "prev" buttons with down and up arrows

Users often find that "next" and "prev" do the opposite of what they
expect.  For example, "next" moves to the next match down the list, but
that is almost always backwards in time.  Replacing the text with arrows
makes it clear where the buttons will take the user.

Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: chmod +x po2msg.sh
Jonathan Nieder [Mon, 25 Nov 2013 21:00:10 +0000 (13:00 -0800)] 
gitk: chmod +x po2msg.sh

The Makefile only runs it using tclsh, but because the fallback po2msg
script has the usual tcl preamble starting with #!/bin/sh it can also
be run directly.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Update copyright dates
Paul Mackerras [Tue, 21 Jan 2014 11:02:27 +0000 (22:02 +1100)] 
gitk: Update copyright dates

Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Add Bulgarian translation (304t)
Alexander Shopov [Wed, 15 Jan 2014 11:27:29 +0000 (13:27 +0200)] 
gitk: Add Bulgarian translation (304t)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Fix mistype
Max Kirillov [Sat, 18 Jan 2014 12:58:51 +0000 (14:58 +0200)] 
gitk: Fix mistype

Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agol10n: Init Vietnamese translation
Trần Ngọc Quân [Sat, 14 Dec 2013 07:43:04 +0000 (14:43 +0700)] 
l10n: Init Vietnamese translation

Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
10 years agogitk: Recognize -L option
Thomas Rast [Sat, 16 Nov 2013 17:37:44 +0000 (18:37 +0100)] 
gitk: Recognize -L option

This gives line-log support to gitk, by exploiting the new support for
processing and showing "inline" diffs straight from the git-log
output.

Note that we 'set allknown 0', which is a bit counterintuitive since
this is a "known" option.  But that flag prevents gitk from thinking
it can optimize the view by running rev-list to see the topology; in
the -L case that doesn't work.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Support showing the gathered inline diffs
Thomas Rast [Sat, 16 Nov 2013 17:37:43 +0000 (18:37 +0100)] 
gitk: Support showing the gathered inline diffs

The previous commit split the diffs into a separate field.  Now we
actually want to show them.

To that end we use the stored diff, and

- process it once to build a fake "tree diff", i.e., a list of all
  changed files;

- feed it through parseblobdiffline to actually format it into the
  $ctext field, like the existing diff machinery would.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Split out diff part in $commitinfo
Thomas Rast [Sat, 16 Nov 2013 17:37:42 +0000 (18:37 +0100)] 
gitk: Split out diff part in $commitinfo

So far we just parsed everything after the headers into the "comment"
bit of $commitinfo, including notes and -- if you gave weird options
-- the diff.

Split out the diff, if any, into a separate field.  It's easy to
recognize, since it always starts with /^diff/ and is preceded by an
empty line.

We take care to snip away said empty line.  The display code already
properly spaces the end of the message from the first diff, and
leaving another empty line at the end looks ugly.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Refactor per-line part of getblobdiffline and its support
Thomas Rast [Sat, 16 Nov 2013 17:37:41 +0000 (18:37 +0100)] 
gitk: Refactor per-line part of getblobdiffline and its support

For later use with data sources other than a pipe, refactor the big
worker part of getblobdiffline to a separate function
parseblobdiffline.  Also refactor its initialization and wrap-up to
separate routines.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Support -G option from the command line
Thomas Rast [Sat, 16 Nov 2013 17:37:40 +0000 (18:37 +0100)] 
gitk: Support -G option from the command line

The -G option's usage is exactly analogous to that of -S, so
supporting it is easy.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Tag display improvements
Paul Mackerras [Wed, 2 Jan 2013 23:10:31 +0000 (10:10 +1100)] 
gitk: Tag display improvements

When a commit has many tags, the tag icons in the graph display can
easily become so wide as to push the commit message off the right-hand
edge of the graph display pane.  This changes the display so that if
there are more than 3 tags or they would take up more than a quarter
of the width of the pane, we instead display a single tag icon with
a legend inside it like "4 tags...".  If the user clicks on the tag
icon, gitk then displays all the tags in the diff display pane.

Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Update Swedish translation (304t)
Peter Krefting [Thu, 16 May 2013 07:14:35 +0000 (08:14 +0100)] 
gitk: Update Swedish translation (304t)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: On OSX, bring the gitk window to front
Tair Sabirgaliev [Wed, 24 Apr 2013 09:48:27 +0000 (15:48 +0600)] 
gitk: On OSX, bring the gitk window to front

On OSX, Tcl/Tk application windows are created behind all
the applications down the stack of windows.  This is very
annoying, because once a gitk window appears, it's the
downmost window and switching to it is pain.

The patch is: if we are on OSX, use osascript to
bring the current Wish process window to front.

Signed-off-by: Tair Sabirgaliev <tair.sabirgaliev@gmail.com>
Thanks-to: Stefan Haller <lists@haller-berlin.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
10 years agogitk: Add support for -G'regex' pickaxe variant
Martin Langhoff [Thu, 14 Jun 2012 18:34:11 +0000 (20:34 +0200)] 
gitk: Add support for -G'regex' pickaxe variant

git log -G'regex' is a very useful alternative to the classic
pickaxe.  Minimal patch to make it usable from gitk.

[zj: reword message]
[paulus@samba.org: reword droplist item]
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Add menu item for reverting commits
Knut Franke [Sat, 27 Apr 2013 14:36:13 +0000 (16:36 +0200)] 
gitk: Add menu item for reverting commits

Sometimes it's helpful (at least psychologically) to have this feature
easily accessible.  Code borrows heavily from cherrypick.

Signed-off-by: Knut Franke <Knut.Franke@gmx.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Simplify file filtering
Felipe Contreras [Sat, 27 Apr 2013 22:01:39 +0000 (17:01 -0500)] 
gitk: Simplify file filtering

git diff is perfectly able to do this with '-- files', no need for
manual filtering.  This makes gettreediffs consistent with getblobdiffs.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Display the date of a tag in a human-friendly way
Anand Kumria [Mon, 29 Apr 2013 05:20:48 +0000 (06:20 +0100)] 
gitk: Display the date of a tag in a human-friendly way

By selecting a tag within gitk you can display information about it.
This information is output by using the command

 'git cat-file tag <tagid>'

This outputs the *raw* information from the tag, amongst which is the
time - in seconds since the epoch. As useful as that value is, I find it
a lot easier to read and process time which it is something like:

 "Mon Dec 31 14:26:11 2012 -0800"

This change will modify the display of tags in gitk like so:

  @@ -1,7 +1,7 @@
   object 5d417842efeafb6e109db7574196901c4e95d273
   type commit
   tag v1.8.1
  -tagger Junio C Hamano <gitster@pobox.com> 1356992771 -0800
  +tagger Junio C Hamano <gitster@pobox.com> Mon Dec 31 14:26:11 2012 -0800

   Git 1.8.1
   -----BEGIN PGP SIGNATURE-----

Signed-off-by: Anand Kumria <wildfire@progsoc.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Improve behaviour of drop-down lists
Paul Mackerras [Sat, 11 May 2013 07:08:41 +0000 (17:08 +1000)] 
gitk: Improve behaviour of drop-down lists

The drop-down lists used for things like the criteria for finding
commits (containing/touching paths/etc.) use a combobox if we are
using the ttk widgets.  By default the combobox exports its value
as the selection when it is changed, which is unnecessary, and sometimes
the combobox wouldn't release the selection, which is annoying.

To fix this, we make these comboboxes not export their selection,
and also clear their selection whenever they are changed.  This makes
them more like a simple selection of alternatives, improving the look
and feel of gitk.

Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Move hard-coded colors to .gitk
Gauthier Östervall [Wed, 27 Mar 2013 13:40:51 +0000 (14:40 +0100)] 
gitk: Move hard-coded colors to .gitk

The Preferences dialog gives control of the colors of some elements of
the gitk user interface, but many are hard-coded in the gitk script.
In order to allow these to be customized through the gitk config
file, these other colors are stored in variables which can be set
in the config file, thus providing a way for color schemes to be stored
and shared.

For win32, this makes the default foreground color that of window text
rather than button text.

Signed-off-by: Gauthier Östervall <gauthier@ostervall.se>
[paulus@samba.org: Reworded commit message to be clearer,
 changed filesepfgcolor to black]
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Ignore gitk-wish buildproduct
Christian Couder [Wed, 23 Jan 2013 20:00:35 +0000 (12:00 -0800)] 
gitk: Ignore gitk-wish buildproduct

gitk, when bound into the git.git project tree, used to live at the
root level, but in 62ba514 (Move gitk to its own subdirectory,
2007-11-17) it was moved to a subdirectory.  The code used to track
changes to TCLTK_PATH (which should cause gitk to be rebuilt to
point at the new interpreter) was left in the main Makefile instead
of being moved to the new Makefile that was created for the gitk
project.

Also add .gitignore file to list build artifacts for the gitk
project.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Display important heads even when there are many
Paul Mackerras [Wed, 2 Jan 2013 04:25:29 +0000 (15:25 +1100)] 
gitk: Display important heads even when there are many

When there are more than $maxrefs descendant heads to display in the
Branches field of the commit display, we currently just display "many",
which is not very informative.  To make the display more informative,
we now look for "master" and whichever head is currently checked out,
and display them even if there are too many heads to display them all.
The display then looks like "Branches: master and many more (33)" for
instance.

Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Improve display of list of nearby tags and heads
Paul Mackerras [Tue, 1 Jan 2013 12:08:12 +0000 (23:08 +1100)] 
gitk: Improve display of list of nearby tags and heads

This provides a control in the preferences pane for the limit on
how many tags or heads are displayed with the commit details under
the Branch(es), Precedes and Follows headings.  This limit is now
saved in ~/.gitk so that changes are persistent.

This also applies word-wrapping to the list of tags or heads under
the Branch, Precedes and Follows headings, so that long lists are
more readable.

Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Fix display of branch names on some commits
Paul Mackerras [Tue, 1 Jan 2013 05:51:03 +0000 (16:51 +1100)] 
gitk: Fix display of branch names on some commits

Sometimes the code that divides commits up into arcs creates two
successive arcs, but the commit between them (the commit at the end
of the first arc and the beginning of the second arc) has only one
parent and one child.  If that commit is also the head of one or more
branches, those branches get omitted from the "Branches" field in the
commit display.

The omission occurs because the commit gets erroneously identified as
a commit which is part-way along an arc in [descheads].  This fixes it
by changing the test to look at the arcouts array, which only contains
elements for the commits at the start or end of an arc.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: Update Swedish translation (296t)
Peter Krefting [Wed, 3 Oct 2012 07:16:03 +0000 (08:16 +0100)] 
gitk: Update Swedish translation (296t)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Paul Mackerras <paulus@samba.org>
11 years agogitk: When searching, only highlight files when in Patch mode
Stefan Haller [Thu, 4 Oct 2012 20:50:17 +0000 (22:50 +0200)] 
gitk: When searching, only highlight files when in Patch mode

This fixes another regression that was introduced in b967135 ("gitk:
Synchronize highlighting in file view when scrolling diff"): when
searching for a string in tree mode, jumping to the next search hit
would highlight the "Comments" entry in the file list.

Signed-off-by: Stefan Haller <stefan@haller-berlin.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>