git/git.git
10 years agomergetool--lib: Sort tools alphabetically for easier lookup
Sebastian Schuberth [Sat, 26 Feb 2011 10:51:14 +0000 (11:51 +0100)]
mergetool--lib: Sort tools alphabetically for easier lookup

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
10 years agogit-gui: apply color information from git diff output
Pat Thoyts [Fri, 22 Oct 2010 15:14:38 +0000 (16:14 +0100)]
git-gui: apply color information from git diff output

This patch extracts the ANSI color sequences from git diff output and
applies these to the diff view window. This ensures that the gui view
makes use of the current git configuration for whitespace display.

ANSI codes may include attributes, foreground and background in a single
sequence. Handle this and support bold and reverse attributes. Ignore
all other attributes.

Suggested-by: Tor Arvid Lund <torarvid@gmail.com>
Suggested-by: Junio C Hamano <gitster@pobox.com>
Tested-by: Tor Arvid Lund <torarvid@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: use wordprocessor tab style to ensure tabs work as expected
Pat Thoyts [Wed, 27 Oct 2010 22:37:31 +0000 (23:37 +0100)]
git-gui: use wordprocessor tab style to ensure tabs work as expected

The Tk text widget tab style is tabular where the first tab will align to
the first tabstop and if that position is left of the current location
then just a single character space is used. With the wordprocessor style
a tab moves the next character position to the next rightmost tabstop
as expected for viewing code.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: correct assignment of work-tree
Pat Thoyts [Wed, 20 Oct 2010 13:29:56 +0000 (14:29 +0100)]
git-gui: correct assignment of work-tree

git-gui currently uses its own logic to determine the work-tree setting
but 'git rev-parse --toplevel' directly returns git's work-tree value
by calling get_git_work_tree() and is therefore always correct.

This fixes an inability to handle some repository configurations. In
particular where .git is a file containing a path to the real directory
(a cross-platform symbolic link).
To continue to support older versions than 1.7.0, setting the work-tree
by normalizing the --show-cdup value is more reliable as git-dir might be
outside the work-tree entirely.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: use full dialog width for old name when renaming branch
Pat Thoyts [Thu, 7 Oct 2010 22:00:33 +0000 (23:00 +0100)]
git-gui: use full dialog width for old name when renaming branch

Let the combobox/option menu expand to fill the width of the dialog.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: generic version trimming
Pat Thoyts [Thu, 7 Oct 2010 21:28:45 +0000 (22:28 +0100)]
git-gui: generic version trimming

Rather than attempting to trim off all the non-version number suffixes
from the 'git version' result, let us scan along from the beginning until
we find a non-numeric part and stop there. Any such dot-version number will
be compatible with the Tcl package version comparison command which is the
aim of this code.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: enable the Tk console when tracing/debugging on Windows
Pat Thoyts [Tue, 5 Oct 2010 22:51:34 +0000 (23:51 +0100)]
git-gui: enable the Tk console when tracing/debugging on Windows

Without any standard channels the trace option is pretty useless on Win32
unless you can show the Tk console which captures such output. This also
permits introspection of the running application to assist in debugging.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: show command-line errors in a messagebox on Windows
Pat Thoyts [Tue, 5 Oct 2010 22:39:54 +0000 (23:39 +0100)]
git-gui: show command-line errors in a messagebox on Windows

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agoOn Windows, avoid git-gui to call Cygwin's nice utility
Sebastian Schuberth [Tue, 5 Oct 2010 09:12:00 +0000 (11:12 +0200)]
On Windows, avoid git-gui to call Cygwin's nice utility

It's a common case for Windows developers to have both Cygwin and msysGit
installed. Unfortunately, some scenarios also require to have Cygwin in PATH.
By default, Cygwin comes with nice.exe, while msysGit does not. Since git-gui
calls nice if it is in PATH, this results in Cygwin's nice.exe being called
from msysGit's git-gui. Mixing Cygwin and msysGit generally is not a good idea,
and in this particular case it causes differences not being correctly detected.
So we only call nice.exe on Windows if it is in the same directory as git.exe.
This way, this work-around does neither affect a pure Cygwin environment, or
the case when nice.exe will be shipped with msysGit at some point in time.

This fixes msysGit issue 394.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui 0.13 gitgui-0.13.0
Pat Thoyts [Tue, 14 Sep 2010 21:42:37 +0000 (22:42 +0100)]
git-gui 0.13

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: avoid mis-encoding the copyright message on Windows.
Pat Thoyts [Mon, 13 Sep 2010 19:41:42 +0000 (20:41 +0100)]
git-gui: avoid mis-encoding the copyright message on Windows.

On Windows the tcl script file will use the system encoding and attempting
to convert the copyright mis-encodes the string. Instead, keep the message
as ASCII and substitute in the correct unicode character when running.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: Update Swedish translation (521t).
Peter Krefting [Sun, 12 Sep 2010 20:13:29 +0000 (21:13 +0100)]
git-gui: Update Swedish translation (521t).

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: ensure correct application termination in git-gui--askpass
Pat Thoyts [Wed, 18 Aug 2010 22:19:24 +0000 (23:19 +0100)]
git-gui: ensure correct application termination in git-gui--askpass

With Tk 8.5 the askpass utility can hang waiting for the wish shell
implicit event loop to exit. This patch uses an explicit event loop
to ensure correct application termination.

Reported-by: Anders Kaseorg <andersk@mit.edu>
Tested-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: handle textconv filter on Windows and in development
Pat Thoyts [Sat, 7 Aug 2010 19:32:13 +0000 (20:32 +0100)]
git-gui: handle textconv filter on Windows and in development

When developing/testing we run git-gui.sh directly and the makefile
configured variables are not properly set. Configure the new shellpath
accessor to handle this case.

On Windows we may not find the shell so in this case revert to simply
executing the filter command without the shell intermediate.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: use shell to launch textconv filter in "blame"
Matthieu Moy [Thu, 5 Aug 2010 10:05:22 +0000 (12:05 +0200)]
git-gui: use shell to launch textconv filter in "blame"

The textconv filters may include multiple arguments and may make use
of unix shell features. To maintain compatibility with 'git blame'
ensure these commands are passed through bash.

Reported-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: display error launching blame as a message box.
Pat Thoyts [Sat, 7 Aug 2010 23:07:43 +0000 (00:07 +0100)]
git-gui: display error launching blame as a message box.

This does not appear to Windows users and can follow the form of the fatal
error messages near the top of the script file.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: Make usage statement visible on Windows.
Pat Thoyts [Sat, 7 Aug 2010 23:07:01 +0000 (00:07 +0100)]
git-gui: Make usage statement visible on Windows.

On Windows stdout and stderr are not connected to anything so the usage
statement is never shown to the user when an error is made with a command
line like 'git gui browser'. Use a messagebox on windows.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: fix size and position of window panes on startup
Pat Thoyts [Mon, 2 Aug 2010 12:42:45 +0000 (13:42 +0100)]
git-gui: fix size and position of window panes on startup

The themed panedwindow needs to have the sash position set after the
widget has been mapped therefore apply this setting in the Map event
binding. To avoid visible redraws as the application is constructed
the main window should be withdrawn until all the widgets have been added

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: mc cannot be used before msgcat has been loaded
Pat Thoyts [Mon, 2 Aug 2010 11:13:05 +0000 (12:13 +0100)]
git-gui: mc cannot be used before msgcat has been loaded

If someone attempts to use an older version that Tk 8.4 the error was
masked by the lack of a mc command.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: use textconv filter for diff and blame
Clément Poulain [Fri, 30 Jul 2010 08:11:02 +0000 (09:11 +0100)]
git-gui: use textconv filter for diff and blame

Create a checkbox "Use Textconv For Diffs and Blame" in git-gui options.
If checked and if the driver for the concerned file exists, git-gui calls diff
and blame with --textconv option

Signed-off-by: Clément Poulain <clement.poulain@ensimag.imag.fr>
Signed-off-by: Diane Gasselin <diane.gasselin@ensimag.imag.fr>
Signed-off-by: Axel Bonnet <axel.bonnet@ensimag.imag.fr>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32
Pat Thoyts [Mon, 8 Mar 2010 12:43:27 +0000 (12:43 +0000)]
git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32

On Windows the Control-C binding is used to copy and is mapped to the Tk
virtual event <<Copy>>. In the initial git-gui dialog this is also bound
as an accelerator for the Clone menu item. The effect is that both bindings
run, copying the text but resetting the clone page or switching to the clone
page when the user tries to copy text from one of the entry fields.
This patch avoids this by using Control-L instead for Windows only.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: fix shortcut creation on cygwin
Heiko Voigt [Sat, 27 Feb 2010 20:48:48 +0000 (21:48 +0100)]
git-gui: fix shortcut creation on cygwin

When the user tried to create a desktop icon with git gui on cygwin
wscript was complaining about an unknown option and displaying the
non-native path as such.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: fix PATH environment for mingw development environment
Heiko Voigt [Sat, 27 Feb 2010 20:47:42 +0000 (21:47 +0100)]
git-gui: fix PATH environment for mingw development environment

When creating a desktop shortcut from the gui the shortcut directly
starts wish with the git-gui script. In the msysgit development
environment some dll's reside in the mingw/bin directory which causes
that git can not start because libiconv2.dll is not found.

When using such a link the error is even more cryptic stating:
"child killed: unknown signal"

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: fix usage of _gitworktree when creating shortcut for windows
Heiko Voigt [Sat, 27 Feb 2010 20:45:51 +0000 (21:45 +0100)]
git-gui: fix usage of _gitworktree when creating shortcut for windows

This fixes msysGit issue 425.

Signed-off-by: Heiko Voigt <heiko.voigt@mahr.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: fix "Explore Working Copy" for Windows again
Markus Heidelberg [Thu, 25 Feb 2010 00:14:22 +0000 (01:14 +0100)]
git-gui: fix "Explore Working Copy" for Windows again

It has already been fixed in commit 454efb47 (git-gui (Win): make
"Explore Working Copy" more robust, 2009-04-01), but has been broken in
commit 21985a11 (git-gui: handle non-standard worktree locations,
2010-01-23) by accidentally replacing too much with a new variable.

The problem can be reproduced when starting git-gui from within a
subdirectory. The solution is to convert the path name, explorer.exe is
invoked with, to a platform native name.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
10 years agogit-gui: fix usage of themed widgets variable
Heiko Voigt [Sat, 20 Feb 2010 13:38:38 +0000 (14:38 +0100)]
git-gui: fix usage of themed widgets variable

There was one forgotten global so NS was not visible to the method
which resulted in an error.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
10 years agogit-gui: Handle failure of core.worktree to identify the working directory.
Pat Thoyts [Sat, 10 Jul 2010 22:40:59 +0000 (23:40 +0100)]
git-gui: Handle failure of core.worktree to identify the working directory.

Commit 21985a11 'git-gui: handle non-standard worktree locations' attempts
to use either GIT_WORK_TREE or core.worktree to set the _gitworktree
variable but these may not be set which leads to a failure to launch
gitk to review history. Use _gitdir to set the location for a standard
git layout where the parent of the .git directory is the working tree.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
11 years agoMerge branch 'maint'
Shawn O. Pearce [Mon, 8 Feb 2010 15:57:37 +0000 (07:57 -0800)]
Merge branch 'maint'

* maint:
  git-gui: check whether systems nice command works or disable it

11 years agogit-gui: check whether systems nice command works or disable it
Heiko Voigt [Sun, 7 Feb 2010 21:47:56 +0000 (22:47 +0100)]
git-gui: check whether systems nice command works or disable it

This fixes issue 394 from msysgit. It seems that the Gnuwin32 project
provides a nice command but it returns a "not implemented" error. To
help users we now try to execute once and disable it in case it fails.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: update french translation
Emmanuel Trillaud [Tue, 2 Feb 2010 11:59:34 +0000 (12:59 +0100)]
git-gui: update french translation

Signed-off-by: Emmanuel Trillaud <etrillaud@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: update Japanese translation
Nanako Shiraishi [Tue, 2 Feb 2010 10:20:21 +0000 (19:20 +0900)]
git-gui: update Japanese translation

Update ja.po to match 2010-01-26 version of pot file.

Signed-off-by: しらいし ななこ <nanako3@lavabit.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agoMerge branch 'maint'
Shawn O. Pearce [Fri, 29 Jan 2010 15:58:56 +0000 (07:58 -0800)]
Merge branch 'maint'

* maint:
  git-gui: fix shortcut for menu "Commit/Revert Changes"

11 years agogit-gui: fix shortcut for menu "Commit/Revert Changes"
Heiko Voigt [Fri, 29 Jan 2010 15:57:48 +0000 (16:57 +0100)]
git-gui: fix shortcut for menu "Commit/Revert Changes"

The shortcut was not properly recognized previously.

Signed-off-by: Heiko Voigt <heiko.voigt@mahr.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Quote git path when starting another gui in a submodule
Jens Lehmann [Thu, 28 Jan 2010 21:20:39 +0000 (22:20 +0100)]
git-gui: Quote git path when starting another gui in a submodule

In do_git_gui the path of the git executable has to be put into a
list, otherwise calling it will fail when when spaces are present
in its path.

Reported-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: update Italian translation
Michele Ballabio [Mon, 7 Sep 2009 16:45:16 +0000 (18:45 +0200)]
git-gui: update Italian translation

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Update Swedish translation (520t0f0u)
Peter Krefting [Thu, 28 Jan 2010 12:57:34 +0000 (13:57 +0100)]
git-gui: Update Swedish translation (520t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: use themed tk widgets with Tk 8.5
Pat Thoyts [Tue, 26 Jan 2010 00:05:31 +0000 (00:05 +0000)]
git-gui: use themed tk widgets with Tk 8.5

This patch enables the use of themed Tk widgets with Tk 8.5 and above.
These make a significant difference on Windows in making the
application appear native. On Windows and MacOSX ttk defaults to the
native look as much as possible. On X11 the user may select a theme
using the TkTheme XRDB resource class by adding an line to the
.Xresources file. The set of installed theme names is available using
the Tk command 'ttk::themes'. The default on X11 is similar to the current
un-themed style - a kind of thin bordered motif look.

A new git config variable 'gui.usettk' may be set to disable this if
the user prefers the classic Tk look. Using Tk 8.4 will also avoid the
use of themed widgets as these are only available since 8.5.

Some support is included for Tk 8.6 features (themed spinbox and native
font chooser for MacOSX and Windows).

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Update German translation (12 new or changed strings).
Christian Stimming [Tue, 26 Jan 2010 21:26:45 +0000 (22:26 +0100)]
git-gui: Update German translation (12 new or changed strings).

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Update translation template
Shawn O. Pearce [Tue, 26 Jan 2010 23:47:45 +0000 (15:47 -0800)]
git-gui: Update translation template

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Remove unused icon file_parttick
Shawn O. Pearce [Mon, 25 Jan 2010 15:33:41 +0000 (07:33 -0800)]
git-gui: Remove unused icon file_parttick

This icon hasn't been used in git gui.  I think it dates back to
the original set of icons I took from Paul Mackerras' prototype
that I turned into git gui.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: use different icon for new and modified files in the index
Peter Oberndorfer [Sun, 24 Jan 2010 18:54:19 +0000 (19:54 +0100)]
git-gui: use different icon for new and modified files in the index

This allows to quickly differentiate between new and modified files
in the index without selecting the file and looking at the diff.

Signed-off-by: Peter Oberndorfer <kumbayo84@arcor.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: set GIT_DIR and GIT_WORK_TREE after setup
Giuseppe Bilotta [Sat, 23 Jan 2010 23:59:00 +0000 (00:59 +0100)]
git-gui: set GIT_DIR and GIT_WORK_TREE after setup

Rather than juggling with the env var GIT_DIR around the invocation of
gitk, set it and GIT_WORK_TREE after finishing setup, ensuring that any
external tool works with the setup we're running with.

This also allows us to remove a couple of conditionals when running gitk
or git gui in a submodule, as we know that the variables are present and
have to be unset and reset before and after the invocation.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: update shortcut tools to use _gitworktree
Giuseppe Bilotta [Sat, 23 Jan 2010 10:03:38 +0000 (11:03 +0100)]
git-gui: update shortcut tools to use _gitworktree

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: handle bare repos correctly
Giuseppe Bilotta [Sat, 23 Jan 2010 10:03:35 +0000 (11:03 +0100)]
git-gui: handle bare repos correctly

Refactor checking for a bare repository into its own proc, that relies
on git rev-parse --is-bare-repository if possible. For older versions of
git we fall back to a logic such that the repository is considered bare
if:
 * either the core.bare setting is true
 * or the worktree is not set and the directory name ends with .git
The error message for the case of an unhandled bare repository is also
updated to reflect the fact that the problem is not the funny name but
the bareness.

The new refactored proc is also used to disable the menu entry to
explore the working copy, and to skip changing to the worktree before
the gitk invocation.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: handle non-standard worktree locations
Giuseppe Bilotta [Sat, 23 Jan 2010 10:03:34 +0000 (11:03 +0100)]
git-gui: handle non-standard worktree locations

Don't rely on the git worktree being the updir of the gitdir, since it
might not be. Instead, define (and use) a new _gitworktree global
variable, setting it to $GIT_WORK_TREE if present, falling back to
core.worktree if defined, and finally to whatever we guess the correct
worktree is. Getting core.worktree requires the config from the alleged
git dir _gitdir to be loaded early.

Supporting non-standard worktree locations also breaks the git-gui
assumption (made when calling gitk) that the worktree was the dirname of
$_gitdir and that, by consequence, the git dir could be set to the tail
of $_gitdir once we changed to the worktree root directory. Therefore,
we need to export a GIT_DIR environment variable set to the full,
normalized path of $_gitdir instead. We also skip changing to the worktree
directory if it's empty (i.e. if we're working on a bare repository).

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Support applying a range of changes at once
Jeff Epler [Tue, 8 Dec 2009 00:22:43 +0000 (18:22 -0600)]
git-gui: Support applying a range of changes at once

Multiple lines can be selected in the diff viewer and applied all
at once, rather than selecting "Stage Line For Commit" on each
individual line.

Signed-off-by: Jeff Epler <jepler@unpythonic.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Add a special diff popup menu for submodules
Jens Lehmann [Sat, 2 Jan 2010 16:58:49 +0000 (17:58 +0100)]
git-gui: Add a special diff popup menu for submodules

To make it easier for users to deal with submodules, a special diff
popup menu has been added for submodules. The "Show Less Context"
and "Show More Context" entries have been removed, as they don't make
any sense for a submodule summary. Four new entries are added to the
top of the popup menu to gain access to more detailed information
about the changes in a submodule than the plain summary does offer.

These are:
- "Visualize These Changes In The Submodule"
  starts gitk showing the selected commit range

- "Visualize These Changes In The Submodule"
  starts gitk showing the whole submodule history of the current branch

- "Visualize All Branch History In The Submodule"
  starts gitk --all in the submodule

- "Start git gui In The Submodule"
  guess what :-)

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Use git diff --submodule when available
Jens Lehmann [Sat, 23 Jan 2010 22:04:12 +0000 (23:04 +0100)]
git-gui: Use git diff --submodule when available

Doing so is much faster and gives the same output.
Here are some numbers:

  $ time git submodule summary
  real 0m0.219s
  user 0m0.050s
  sys 0m0.111s

  $ time git diff --submodule
  real 0m0.012s
  user 0m0.003s
  sys 0m0.009s

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: work from the .git dir
Giuseppe Bilotta [Sat, 23 Jan 2010 10:03:36 +0000 (11:03 +0100)]
git-gui: work from the .git dir

When git-gui is run from a .git dir, _gitdir would be set to "." by
rev-parse, something that confuses the worktree detection.

Fix by expanding the value of _gitdir to pwd in this special case.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Fix applying a line when all following lines are deletions
Jeff Epler [Tue, 8 Dec 2009 00:22:42 +0000 (18:22 -0600)]
git-gui: Fix applying a line when all following lines are deletions

If a diff looked like:

 @@
  context
 -del1
 -del2

and you wanted to stage the deletion 'del1', the generated patch
wouldn't apply because it was missing the line 'del2' converted to
context, but this line was counted in the @@-line

Signed-off-by: Jeff Epler <jepler@unpythonic.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Correct file_states when unstaging partly staged entry
Jens Lehmann [Mon, 7 Dec 2009 20:35:59 +0000 (21:35 +0100)]
git-gui: Correct file_states when unstaging partly staged entry

When unstaging a partly staged file or submodule, the file_states
list was not updated properly (unless unstaged linewise). Its
index_info part did not contain the former head_info as it should
have but kept its old value.

This seems not to have had any bad effects but diminishes the value
of the file_states list for future enhancements.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Fix gitk for branch whose name matches local file
Peter Krefting [Thu, 21 Jan 2010 12:15:17 +0000 (13:15 +0100)]
git-gui: Fix gitk for branch whose name matches local file

When trying to run gitk on a branch name whose name matches a local
file, it will toss an error saying that the name is ambiguous. Adding
a pair of dashes will make gitk parse the options to the left of
it as branch names. Since wish eats the first pair of dashes we
throw at it, we need to add a second one to ensure they get through.

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Keep repo_config(gui.recentrepos) and .gitconfig in sync
Christopher Beelby [Sat, 23 Jan 2010 22:37:17 +0000 (14:37 -0800)]
git-gui: Keep repo_config(gui.recentrepos) and .gitconfig in sync

When the number of recent repo's gets to ten there can be a
situation where an item is removed from the .gitconfig file via
a call to git config --unset, but the internal representation of
that file (repo_config(gui.recentrepo)) is not updated.  Then a
subsequent attempt to remove an item from the list fails because
git-gui attempts to call --unset on a value that has already
been removed.  This leads to duplicates in the .gitconfig file,
which then also cause errors if the git-gui tries to --unset them
(rather than using --unset-all. --unset-all is not used because it
is not expected that duplicates should ever be allowed to exist.)

When loading the list of recent repositories (proc _get_recentrepos)
if a repo in the list is not considered a valid git reposoitory
then we should go ahead and remove it so it doesn't take up a slot
in the list (since we limit to 10 items). This will prevent a bunch
of invalid entries in the list (which are not shown) from making
valid entries dissapear off the list even when there are less than
ten valid entries.

See: http://code.google.com/p/msysgit/issues/detail?id=362
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: handle really long error messages in updateindex.
Pat Thoyts [Sun, 20 Dec 2009 02:02:03 +0000 (02:02 +0000)]
git-gui: handle really long error messages in updateindex.

As reported to msysGit (bug #340) it is possible to get some very
long error messages when updating the index. The use of a label to
display this prevents scrolling the output. This patch replaces the
label with a scrollable text widget configured to look like a label.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Add hotkeys for "Unstage from commit" and "Revert changes"
Vitaly _Vi Shukela [Thu, 31 Dec 2009 13:32:53 +0000 (15:32 +0200)]
git-gui: Add hotkeys for "Unstage from commit" and "Revert changes"

Signed-off-by: Vitaly _Vi Shukela <public_vi@tut.by>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Makefile: consolidate .FORCE-* targets
Jonathan Nieder [Wed, 6 Jan 2010 08:16:38 +0000 (02:16 -0600)]
git-gui: Makefile: consolidate .FORCE-* targets

Providing multiple targets to force a rebuild is unnecessary
complication.

Avoid using a name that could conflict with future special
targets in GNU make (a leading period followed by uppercase
letters).

Cc: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: suppress RenderBadPicture X error caused by Tk bug
Jindrich Makovicka [Fri, 4 Dec 2009 09:28:44 +0000 (10:28 +0100)]
git-gui: suppress RenderBadPicture X error caused by Tk bug

Due to a bug in Tk, git-gui almost always (unless git-gui is closed
right after starting) produces an X window error message on exit,
something like:

X Error of failed request:  RenderBadPicture (invalid Picture parameter)
  Major opcode of failed request:  150 (RENDER)
  Minor opcode of failed request:  7 (RenderFreePicture)
  Picture id in failed request: 0x3a000dc
  Serial number of failed request:  1965
  Current serial number in output stream:  1980

Respective Tk bug report is here:

http://sourceforge.net/tracker/?func=detail&atid=112997&aid=1821174&group_id=12997

This bug is triggered only when the send command is blocked via
rename send {} . The following patch re-enables send just before
quiting git-gui to suppress the error.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Increase blame viewer usability on MacOS.
Alexander Gavrilov [Thu, 13 Nov 2008 19:02:09 +0000 (22:02 +0300)]
git-gui: Increase blame viewer usability on MacOS.

On MacOS raising a window causes the focus to be transferred
to it -- although it may actually be a bug in the Tcl/Tk port.
When this happens with the blame viewer tooltips, it makes
the interface less usable, because Entry and Leave handlers
on the text view cause the tip to disappear once the mouse
is moved even 1 pixel.

This commit makes the code raise the main window on MacOS
when Tk 8.5 is used. This version seems to properly support
wm transient by making the tip stay on top of the master,
so reraising the master does not cause it to disappear. Thus
the only remaining sign of problems is slight UI flicker
when focus is momentarily transferred to the tip and back.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: search 4 directories to improve statistic of gc hint
Clemens Buchacher [Sun, 13 Sep 2009 22:20:44 +0000 (00:20 +0200)]
git-gui: search 4 directories to improve statistic of gc hint

On Windows, git-gui suggests running the garbage collector if it finds
1 or more files in .git/objects/42 (as opposed to 8 files on other
platforms). The probability of that happening if the repo contains
about 100 loose objects is 32%. The probability for the same to happen
when searching 4 directories is only 8%, which is bit more reasonable.

Also remove $objects_limit from the message, because we already know
that we are above (or close to) that limit. Telling the user about
that number does not really give him any useful information.

The following octave script shows the probability for at least m*q
objects to be found in q subdirectories of .git/objects if n is the
total number of objects.

q = 4;
m = [1 2 8];
n = 0:10:2000;

P = zeros(length(n), length(m));
for k = 1:length(n)
        P(k, :) = 1-binocdf(q*m-1, n(k), q/(256-q));
end
plot(n, P);

n \ q   1       4
50      18%     1%
100     32%     8%
200     54%     39%
500     86%     96%

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit gui: make current branch default in "remote delete branch" merge check
Heiko Voigt [Fri, 4 Dec 2009 21:26:48 +0000 (22:26 +0100)]
git gui: make current branch default in "remote delete branch" merge check

We already do the same when locally deleting a branch.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: adjust the minimum height of diff pane for shorter screen height
Vietor Liu [Fri, 16 Oct 2009 09:41:26 +0000 (17:41 +0800)]
git-gui: adjust the minimum height of diff pane for shorter screen height

When the main window is maximized, if the screen height is shorter (e.g.
Netbook screen 1024x600), both the partial commit pane and the status bar
are hidden. The diff pane is resizable, so that it can use less vertical
height, allowing the overall window to be shorter and still display both
the entire commit pane and status bar.

Signed-off-by: Vietor Liu <vietor@vxwo.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: fix use of uninitialized variable
Jens Lehmann [Thu, 24 Sep 2009 16:56:28 +0000 (18:56 +0200)]
git-gui: fix use of uninitialized variable

This fixes a bug introduced by the "display summary when showing diff of a
submodule" patch. It lead to a "no such variable" error when opening the
diff context menu while no diff was shown.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: store wm state and fix wm geometry
Alexey Borzenkov [Tue, 8 Sep 2009 18:39:33 +0000 (22:39 +0400)]
git-gui: store wm state and fix wm geometry

I often close git gui window when it is maximized, and when I reopen
it next time the it would usually become out of place (e.g. a huge
window with a top-left corner somewhere close to the center of the
screen). Fix it by storing and restoring wm state in config, as well
as setting wm state to normal before retrieving wm geometry info.

Signed-off-by: Alexey Borzenkov <snaury@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Ensure submodule path is quoted properly
Shawn O. Pearce [Thu, 27 Aug 2009 00:39:45 +0000 (17:39 -0700)]
git-gui: Ensure submodule path is quoted properly

When quoting an arbitrary user string in Tcl, its better to use
[list ...] than to use {...}, in case the user string has spaces
or { embedded within it.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: fix diff for partially staged submodule changes
Jens Lehmann [Wed, 26 Aug 2009 20:25:15 +0000 (22:25 +0200)]
git-gui: fix diff for partially staged submodule changes

When a submodule commit had already been staged and another commit had
been checked out inside the submodule, the diff always displayed the
submodule commit log messages between the last supermodule commit and
the working tree, totally ignoring the commit in the index.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Update russian translation
Alex Riesen [Wed, 12 Aug 2009 15:24:10 +0000 (17:24 +0200)]
git-gui: Update russian translation

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Limit display to a maximum number of files
Dan Zwell [Tue, 11 Aug 2009 18:50:00 +0000 (13:50 -0500)]
git-gui: Limit display to a maximum number of files

When there is a large number of new or modified files,
"display_all_files" takes a long time, and git-gui appears to hang.

This change limits the number of files that are displayed.  This
limit can be set as gui.maxfilesdisplayed, and is 5000 by default.

A warning is shown the first time the list of files is truncated
in this GUI session.  Subsequent truncations are not mentioned to
the user.

Signed-off-by: Dan Zwell <dzwell@zwell.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: remove warning when deleting correctly merged remote branch
Heiko Voigt [Mon, 15 Jun 2009 21:19:56 +0000 (23:19 +0200)]
git-gui: remove warning when deleting correctly merged remote branch

If the user wants to delete a remote branch and selects the correct
"merged into" we should not warn that "Recovering deleted branches is
difficult". For local branches we do the same already.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: Added Greek translation & glossary
Jimmy Angelakos [Tue, 23 Jun 2009 18:35:35 +0000 (21:35 +0300)]
git-gui: Added Greek translation & glossary

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
11 years agogit-gui: display summary when showing diff of a submodule
Jens Lehmann [Tue, 21 Jul 2009 17:32:31 +0000 (19:32 +0200)]
git-gui: display summary when showing diff of a submodule

As it is hard to say what changed in a submodule by looking at the hashes,
let's show the colored submodule summary instead.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: Fixes for Mac OS X TkAqua
Daniel A. Steffen [Sat, 16 Aug 2008 01:20:09 +0000 (03:20 +0200)]
git-gui: Fixes for Mac OS X TkAqua

- detect more Tk.framework variants
- fix apple menu setup, use native preferences menu item
- don't set menu font

Signed-off-by: Daniel A. Steffen <das@users.sourceforge.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: Update Russian translation
Alex Riesen [Wed, 29 Apr 2009 05:56:06 +0000 (07:56 +0200)]
git-gui: Update Russian translation

Also, the previous translations of the words 'tag' and 'merge' were
changed. Added translation of the 'Tool' submenu.

Thanks go to Alexander Gavrilov and Dmitry Potapov for proofreading
and suggestions.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: run post-checkout hook after clone
Jens Lehmann [Mon, 6 Apr 2009 19:05:55 +0000 (21:05 +0200)]
git-gui: run post-checkout hook after clone

git-gui is using "git-read-tree -u" when cloning which doesn't
invoke the post-checkout hook as a plain git-clone would.
So git-gui must call the hook itself.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agoMerge branch 'maint'
Shawn O. Pearce [Wed, 8 Apr 2009 14:41:13 +0000 (07:41 -0700)]
Merge branch 'maint'

* maint:
  git-gui: Ensure consistent usage of mergetool.keepBackup
  git-gui: fix use of undeclared variable diff_empty_count

12 years agogit-gui: Ensure consistent usage of mergetool.keepBackup
Ferry Huberts [Tue, 7 Apr 2009 15:33:35 +0000 (17:33 +0200)]
git-gui: Ensure consistent usage of mergetool.keepBackup

In several places merge.keepBackup is used i.s.o.
mergetool.keepBackup. This patch makes it all
consistent.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: fix use of undeclared variable diff_empty_count
Joerg Bornemann [Mon, 6 Apr 2009 19:59:28 +0000 (21:59 +0200)]
git-gui: fix use of undeclared variable diff_empty_count

Commit 584fa9cc introduced the global variable diff_empty_count, which
is used in diff.tcl. This variable wasn't declared anywhere which
resulted in an ugly error message box instead of the intended
informative message.

Signed-off-by: Joerg Bornemann <joerg.bornemann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui (Win): make starting via "Git GUI Here" on .git/ possible
Markus Heidelberg [Tue, 31 Mar 2009 23:55:39 +0000 (01:55 +0200)]
git-gui (Win): make starting via "Git GUI Here" on .git/ possible

This works around git-gui's error message

    Cannot use funny .git directory: .

when started from the .git/ directory, which is useful in repositories
without any directories for the right click.

Now git-gui can be started via Windows Explorer shell extension (Git GUI
Here) from the .git/ directory.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui (Win): make "Explore Working Copy" more robust
Markus Heidelberg [Tue, 31 Mar 2009 23:55:36 +0000 (01:55 +0200)]
git-gui (Win): make "Explore Working Copy" more robust

Starting the Explorer from the git-gui menu "Explore Working Copy"
didn't work, when git-gui was started via Windows Explorer shell
extension (Git GUI Here) from a directory within the project.
The Explorer raised an error message like this:

    Path "C:/somedir/worktree" is not available or not a directory

It worked when started from the project directory itself, because then
the path argument for the Explorer was just '.' (current directory)
without any problematic forward slashes.

To make it work, convert the path given as argument to explorer.exe to
its native format with backslashes.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: run post-checkout hook on checkout
Jens Lehmann [Mon, 30 Mar 2009 19:46:17 +0000 (21:46 +0200)]
git-gui: run post-checkout hook on checkout

git-gui is using "git-read-tree -u" for checkout which doesn't
invoke the post-checkout hook as a plain git-checkout would.
So git-gui must call the hook itself.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: When calling post-commit hook wrong variable was cleared.
Jens Lehmann [Mon, 30 Mar 2009 18:35:57 +0000 (20:35 +0200)]
git-gui: When calling post-commit hook wrong variable was cleared.

Before calling the post-commit hook, the variable "pc_err" is cleared
while later only "pch_error" is used. "pch_error$cmt_id" only appeared in
"upvar"-Statements (which were changed to "global") and was removed.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: use `git --html-path` to get the location of installed HTML docs
Markus Heidelberg [Sun, 5 Apr 2009 01:48:21 +0000 (03:48 +0200)]
git-gui: use `git --html-path` to get the location of installed HTML docs

Previously a hardcoded path $GIT_EXEC_PATH/../Documentation/ was used to
search for the documentation, when the user has asked for it via menu
"Help -> Online Documentation".
This didn't work for the default directory structure.

To find the path reliably, use the new git command line option, which
returns the correct path.

If the output of `git --html-path` is empty because git is not found or
the option is not yet supported in the installed git, the documentation
from kernel.org is launched. There is no additional guessing of the
right location of the installed docs.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agoMerge branch 'maint'
Shawn O. Pearce [Mon, 30 Mar 2009 14:09:28 +0000 (07:09 -0700)]
Merge branch 'maint'

* maint:
  git-gui: fix deleting from the context menu with empty selection

12 years agogit-gui: fix deleting from the context menu with empty selection
Markus Heidelberg [Sun, 29 Mar 2009 14:29:23 +0000 (15:29 +0100)]
git-gui: fix deleting from the context menu with empty selection

An "Application Error" was raised when trying to delete text from the
commit message field when no text was selected.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: minor spelling fix and string factorisation.
Sam Hocevar [Mon, 23 Mar 2009 23:42:24 +0000 (00:42 +0100)]
git-gui: minor spelling fix and string factorisation.

Properly spell "successful" and slightly rewrite a couple of strings
that actually say the same thing in order to reduce translation work.

Update .pot and .po files accordingly since no new translation is
required.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: various French translation fixes
Sam Hocevar [Tue, 24 Mar 2009 23:15:38 +0000 (00:15 +0100)]
git-gui: various French translation fixes

Mostly grammar, spelling and typography fixes, but also a few wording
enhancements here and there.

Signed-off-by: Sam Hocevar <sam@zoy.org>
Acked-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agoMerge branch 'maint'
Shawn O. Pearce [Fri, 20 Mar 2009 21:44:48 +0000 (14:44 -0700)]
Merge branch 'maint'

12 years agogit-gui: Fix merge conflict display error when filename contains spaces
Jens Lehmann [Fri, 20 Mar 2009 07:48:55 +0000 (08:48 +0100)]
git-gui: Fix merge conflict display error when filename contains spaces

When a merge conflict occurs in a file with spaces in the filename,
git-gui showed wrongly "LOCAL: deleted".

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agoMerge branch 'maint'
Shawn O. Pearce [Tue, 17 Mar 2009 03:01:27 +0000 (20:01 -0700)]
Merge branch 'maint'

* maint:
  git-gui: don't hide the Browse button when resizing the repo chooser

12 years agogit-gui: don't hide the Browse button when resizing the repo chooser
Markus Heidelberg [Fri, 13 Mar 2009 23:42:37 +0000 (00:42 +0100)]
git-gui: don't hide the Browse button when resizing the repo chooser

Rather shrink the input field for "Create New Repository" and "Open
Existing Repository" as it's already done for "Clone Existing
Repository".

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agoAppend ampersand to "Target" of lnk files created by do_cygwin_shortcut
Phil Lawrence [Mon, 9 Mar 2009 22:09:49 +0000 (17:09 -0500)]
Append ampersand to "Target" of lnk files created by do_cygwin_shortcut

The git-gui menu item "Repository | Create Desktop Icon" creates a
shortcut (.lnk file) on the Windows desktop.  The purpose of the
created shortcut is to make it easy for a user to launch git-gui
for a particular repo in the future.

A Windows user would expect to see git gui launch when they click
the shortcut; they would not expect (nor want) to see a cmd window
open and remain open in the background.

msysGit avoids opening a command window altogether when it's Git GUI
shortcut is used.  Ideally, git on cygwin would also have shortcuts
that simply open the GUI, but as a first step, this change allows
the shell window to politely disappear after starting git gui as a
background process.

Signed-off-by: Phil Lawrence <prlawrence@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: Support more git version notations.
Alexander Gavrilov [Sat, 7 Feb 2009 16:43:57 +0000 (19:43 +0300)]
git-gui: Support more git version notations.

Recently the msysgit repository has got a '1.6.1-msysgit1'
tag, which, when used to build the git version, is not
handled gracefully by the git-gui version code.

This patch changes the regular expressions to fix it, and
removes the hardcoded 'rc' string. Now git-gui can accept
a version tail like '.foo123.GIT.bar.456.7.g89ab'

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: Avoid an infinite rescan loop in handle_empty_diff.
Alexander Gavrilov [Sat, 7 Feb 2009 16:24:01 +0000 (19:24 +0300)]
git-gui: Avoid an infinite rescan loop in handle_empty_diff.

If the index update machinery and git diff happen to disagree
on whether a particular file is modified, it may cause git-gui
to enter an infinite index rescan loop, where an empty diff
starts a rescan, which finds the same set of files modified,
and tries to display the diff for the first one, which happens
to be the empty one. A current example of a possible disagreement
point is the autocrlf filter.

This patch breaks the loop by using a global counter to track
the auto-rescans. The variable is reset whenever a non-empty
diff is displayed.

Another suggested approach, which is based on giving the
--exit-code argument to git diff, cannot be used, because
diff-files seems to trust the timestamps in the index, and
returns a non-zero code even if the file is actually
unchanged, which essentially defeats the purpose of the
auto-rescan logic.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: Fix post-commit status with subject in non-locale encoding
Alexander Gavrilov [Fri, 23 Jan 2009 21:18:13 +0000 (00:18 +0300)]
git-gui: Fix post-commit status with subject in non-locale encoding

As pointed out in msysgit bug #181, when a non-locale encoding is
used for commits, post-commit status messages display the subject
incorrectly.  It happens because the file handle is not properly
configured before the subject is read back.

This patch fixes it by factoring out the code that is used to setup
the output handle into a separate function, and calling it from
the reading code.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Acked-by: Robin Rosenberg <robin.rosenberg@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui 0.12 gitgui-0.12.0
Shawn O. Pearce [Thu, 18 Dec 2008 04:15:17 +0000 (20:15 -0800)]
git-gui 0.12

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: Get rid of the last remnants of GIT_CONFIG_LOCAL
Johannes Schindelin [Sun, 14 Dec 2008 22:12:49 +0000 (23:12 +0100)]
git-gui: Get rid of the last remnants of GIT_CONFIG_LOCAL

In dc871831(Only use GIT_CONFIG in "git config", not other programs),
GIT_CONFIG_LOCAL was rested in peace, in favor of not reading
/etc/gitconfig and $HOME/.gitconfig at all when GIT_CONFIG is set.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: Update Hungarian translation for 0.12
Miklos Vajna [Wed, 10 Dec 2008 14:03:13 +0000 (15:03 +0100)]
git-gui: Update Hungarian translation for 0.12

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: Fixed typos in Swedish translation.
Peter Krefting [Wed, 10 Dec 2008 08:51:27 +0000 (09:51 +0100)]
git-gui: Fixed typos in Swedish translation.

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: Updated Swedish translation (515t0f0u).
Peter Krefting [Tue, 9 Dec 2008 15:26:46 +0000 (16:26 +0100)]
git-gui: Updated Swedish translation (515t0f0u).

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit gui: update Italian translation
Michele Ballabio [Thu, 4 Dec 2008 17:28:21 +0000 (18:28 +0100)]
git gui: update Italian translation

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
12 years agogit-gui: Update Japanese translation for 0.12
Nanako Shiraishi [Tue, 9 Dec 2008 03:42:17 +0000 (12:42 +0900)]
git-gui: Update Japanese translation for 0.12

Adds translation for one new message string.

Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>