<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-gui.sh, branch gitgui-0.10.1</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=gitgui-0.10.1</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=gitgui-0.10.1'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2008-04-05T04:03:19Z</updated>
<entry>
<title>git-gui: use +/- instead of ]/[ to show more/less context in diff</title>
<updated>2008-04-05T04:03:19Z</updated>
<author>
<name>Michele Ballabio</name>
<email>barra_cuda@katamail.com</email>
</author>
<published>2008-04-04T21:04:42Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=729ffa50f75a025935623bfc58d0932c65f7de2f'/>
<id>urn:sha1:729ffa50f75a025935623bfc58d0932c65f7de2f</id>
<content type='text'>
On some systems, brackets cannot be used as event details
(they don't have a keysym), so use +/- instead (both on
keyboard and keypad) and add ctrl-= as a synonym of ctrl-+
for convenience.

[sp: Had to change accelerator to show only "$M1T-="; the
     original version included "$M1T-+ $M1T-=" but this is
	 not drawn at all on Mac OS X.]

Signed-off-by: Michele Ballabio &lt;barra_cuda@katamail.com&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Switch keybindings for [ and ] to bracketleft and bracketright</title>
<updated>2008-04-04T01:38:12Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2008-04-03T22:06:29Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=54906addfa598640a6492cae1015badefa1ce201'/>
<id>urn:sha1:54906addfa598640a6492cae1015badefa1ce201</id>
<content type='text'>
Thanks to Michele Ballabio for the quick fix.
This resolves the error introduced by c91ee2bd61.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Add shortcut keys for Show More/Less Context</title>
<updated>2008-04-02T05:33:32Z</updated>
<author>
<name>Jonathan del Strother</name>
<email>maillist@steelskies.com</email>
</author>
<published>2008-04-01T10:54:03Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=c91ee2bd61299737c2795bd7b798e17ef0714e47'/>
<id>urn:sha1:c91ee2bd61299737c2795bd7b798e17ef0714e47</id>
<content type='text'>
Bound to Ctrl/Cmd + left &amp; right square brackets, depending on
your platform.

[sp: Added missing binds for . to allow shortcuts to work when
     not focused in the commit message area.]

Signed-off-by: Jonathan del Strother &lt;jon.delStrother@bestbefore.tv&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Don't translate the special Apple menu</title>
<updated>2008-03-15T05:11:08Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2008-03-15T05:11:08Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=442b3caaee6da96292baf1769b364498af5097fa'/>
<id>urn:sha1:442b3caaee6da96292baf1769b364498af5097fa</id>
<content type='text'>
Peter Karlsson pointed out there is no value in translating the
string "Apple", as this is used as the dummy label for the Apple
menu on Mac OS X systems.

The Apple menu is actually not the menu with the Apple corporate
logo, but the menu next to it, which shows the name of the
application and is typically called the application menu.  Most users
of git-gui see this menu titled as "Git Gui".  The actual label of
this menu comes from our Info.plist file and cannot be specified
by any other means.  Translating this string in the Tcl PO files
is not necessary.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Add option for changing the width of the commit message text box</title>
<updated>2008-03-08T01:59:35Z</updated>
<author>
<name>Adam Piątyszek</name>
<email>ediap@users.sourceforge.net</email>
</author>
<published>2008-03-06T19:38:40Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=11027d544b4f6aed0b84111a2122224cd201a182'/>
<id>urn:sha1:11027d544b4f6aed0b84111a2122224cd201a182</id>
<content type='text'>
The width of the commit message text area is currently hard-coded
to 75 characters. This value might be not optimal for some projects.
For instance users who would like to generate GNU-style ChangeLog
file from git commit message might prefer commit messages of width
no longer than 70 characters.

This patch adds a global and per repository option "Commit Message
Text Width", which could be used to change the width of the commit
message text area.

Signed-off-by: Adam Piątyszek &lt;ediap@users.sourceforge.net&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: if a background colour is set, set foreground colour as well</title>
<updated>2008-03-06T04:47:11Z</updated>
<author>
<name>Philipp A. Hartmann</name>
<email>ph@sorgh.de</email>
</author>
<published>2008-03-05T16:54:22Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=c382fdd79548a56fadf8f34d3484cf020eda3966'/>
<id>urn:sha1:c382fdd79548a56fadf8f34d3484cf020eda3966</id>
<content type='text'>
In several places, only the background colour is set to an explicit
value, sometimes even "white".  This does not work well with dark
colour themes.

This patch tries to set the foreground colour to "black" in those
situations, where an explicit background colour is set without defining
any foreground colour.

Signed-off-by: Philipp A. Hartmann &lt;ph@sorgh.de&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2008-02-20T05:40:13Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2008-02-20T05:40:13Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=cec8f51bd64410ebd94ac6c9be2f34514298d193'/>
<id>urn:sha1:cec8f51bd64410ebd94ac6c9be2f34514298d193</id>
<content type='text'>
* maint:
  git-gui: relax "dirty" version detection
</content>
</entry>
<entry>
<title>git-gui: relax "dirty" version detection</title>
<updated>2008-02-20T01:50:29Z</updated>
<author>
<name>Wincent Colaiuta</name>
<email>win@wincent.com</email>
</author>
<published>2008-02-18T08:36:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=2c2a3782c5092f232e71e8d97272b82cdca0664e'/>
<id>urn:sha1:2c2a3782c5092f232e71e8d97272b82cdca0664e</id>
<content type='text'>
"git gui" would complain at launch if the local version of Git was
"1.5.4.2.dirty". Loosen the regular expression to look for either
"-dirty" or ".dirty", thus eliminating spurious warnings.

Signed-off-by: Wincent Colaiuta &lt;win@wincent.com&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Automatically spell check commit messages as the user types</title>
<updated>2008-02-12T07:35:18Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2008-02-07T07:35:25Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=95b002eeb38de89feb7f0cc1a55721b45fd3cf11'/>
<id>urn:sha1:95b002eeb38de89feb7f0cc1a55721b45fd3cf11</id>
<content type='text'>
Many user friendly tools like word processors, email editors and web
browsers allow users to spell check the message they are writing
as they type it, making it easy to identify a common misspelling
of a word and correct it on the fly.

We now open a bi-directional pipe to Aspell and feed the message
text the user is editing off to the program about once every 300
milliseconds.  This is frequent enough that the user sees the results
almost immediately, but is not so frequent as to cause significant
additional load on the system.  If the user has modified the message
text during the last 300 milliseconds we delay until the next period,
ensuring that we avoid flooding the Aspell process with a lot of
text while the user is actively typing their message.

We wait to send the current message buffer to Aspell until the user
is at a word boundary, thus ensuring that we are not likely to ask
for misspelled word detection on a word that the user is actively
typing, as most words are misspelled when only partially typed,
even if the user has thus far typed it correctly.

Misspelled words are highlighted in red and are given an underline,
causing the word to stand out from the others in the buffer.  This is
a very common user interface idiom for displaying misspelled words,
but differs from one platform to the next in slight variations.
For example the Mac OS X system prefers using a dashed red underline,
leaving the word in the original text color.  Unfortunately the
control that Tk gives us over text display is not powerful enough
to handle such formatting so we have to work with the least common
denominator.

The top suggestions for a misspelling are saved in an array and
offered to the user when they right-click (or on the Mac ctrl-click)
a misspelled word.  Selecting an entry from this menu will replace
the misspelling with the correction shown.  Replacement is integrated
with the undo/redo stack so undoing a replacement will restore the
misspelled original text.

If Aspell could not be started during git-gui launch we silently eat
the error and run without spell checking support.  This way users
who do not have Aspell in their $PATH can continue to use git-gui,
although they will not get the advanced spelling functionality.

If Aspell started successfully the version line and language are
shown in git-gui's about box, below the Tcl/Tk versions.  This way
the user can verify the Aspell function has been activated.

If Aspell crashes while we are running we inform the user with an
error dialog and then disable Aspell entirely for the rest of this
git-gui session.  This prevents us from fork-bombing the system
with Aspell instances that always crash when presented with the
current message text, should there be a bug in either Aspell or in
git-gui's output to it.

We escape all input lines with ^, as recommended by the Aspell manual
page, as this allows Aspell to properly ignore any input line that is
otherwise looking like a command (e.g. ! to enable terse output).  By
using this escape however we need to correct all word offsets by -1 as
Aspell is apparently considering the ^ escape to be part of the line's
character count, but our Tk text widget obviously does not.

Available dictionaries are offered in the Options dialog, allowing
the user to select the language they want to spellcheck commit
messages with for the current repository, as well as the global
user setting that all repositories inherit.

Special thanks to Adam Flott for suggesting connecting git-gui
to Aspell for the purpose of spell checking the commit message,
and to Wincent Colaiuta for the idea to wait for a word boundary
before passing the message over for checking.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Consolidate hook execution code into a single function</title>
<updated>2008-01-21T03:45:38Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2008-01-20T19:46:59Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=ed76cb70f47225fc1a2ba4209b38b89be71adeb6'/>
<id>urn:sha1:ed76cb70f47225fc1a2ba4209b38b89be71adeb6</id>
<content type='text'>
The code we use to test if a hook is executable or not differs on
Cygwin from the normal POSIX case.  Rather then repeating that for
all three hooks we call in our commit code path we can place the
common logic into a global procedure and invoke it when necessary.

This also lets us get rid of the ugly "|&amp; cat" we were using before
as we can now rely on the Tcl 8.4 feature of "2&gt;@1" or fallback to
the "|&amp; cat" when necessary.

The post-commit hook is now run through the same API, but its outcome
does not influence the commit status.  As a result we now show any of
the errors from the post-commit hook in a dialog window, instead of on
the user's tty that was used to launch git-gui.  This resolves a long
standing bug related to not getting errors out of the post-commit hook
when launched under git-gui.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
</feed>
