<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-gui.sh, branch gitgui-0.7.2</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=gitgui-0.7.2</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=gitgui-0.7.2'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2007-05-27T04:03:37Z</updated>
<entry>
<title>git-gui: Guess our share/git-gui/lib path at runtime if possible</title>
<updated>2007-05-27T04:03:37Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-05-27T04:03:37Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=ea75ee3598ab6f8d0828f8cc6ec3d4a5f8d66813'/>
<id>urn:sha1:ea75ee3598ab6f8d0828f8cc6ec3d4a5f8d66813</id>
<content type='text'>
Johannes Sixt asked me to try to avoid embedding the runtime location
of git-gui's library directory in the executable script.  Not embedding
it helps the MinGW to be relocatable to another directory should a user
wish to install the programs in a directory other than the location the
packager wanted them to be installed into.

Most of this is a hack.  We try to determine if the path of our master
git-gui script will be able to locate the lib by ../share/git-gui/lib.
This should be true if $(gitexecdir) and $(libdir) have the same prefix.
If they do then we defer the assignment of $(libdir) until runtime, and
we get it from $argv0 rather than embedding it into the script itself.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>Correct key bindings to Control-&lt;foo&gt;</title>
<updated>2007-05-24T06:33:13Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-05-24T06:33:13Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=3d5793bf52223ccec40aff2839a3c5bad96bca8b'/>
<id>urn:sha1:3d5793bf52223ccec40aff2839a3c5bad96bca8b</id>
<content type='text'>
Alberto Bertogli reported on #git that git-gui was exiting with
alt-q, while gitk on the same system was exiting with ctrl-q.
That was not what I wanted.  I really wanted M1B to be bound to
the Control key on most non-Mac OS X platforms, but according to
Sam Vilain M1 on most systems means alt.  Since gitk always does
control, I'm doing the same thing for all non-Mac OS X systems.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Tighten internal pattern match for lib/ directory</title>
<updated>2007-05-22T07:22:51Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-05-22T07:22:51Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=306fc124621657234b21dce542496440d53147a6'/>
<id>urn:sha1:306fc124621657234b21dce542496440d53147a6</id>
<content type='text'>
Our GITGUI_LIBDIR macro was testing only for @@ at the start of
the path, assuming nobody would ever find that to be a reasonable
prefix for a directory to install our library into.  That is most
likely a valid assumption, but its even more unlikely they would
have the start be @@GITGUI_ and the end be @@.  Note that we
cannot use the full string here because that would get expanded
by the sed replacement in our Makefile.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Gracefully handle bad TCL_PATH at compile time</title>
<updated>2007-05-17T22:10:26Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-05-17T22:01:50Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=b9e7efb8b5f7d424466dd1ce61fd20658f60543f'/>
<id>urn:sha1:b9e7efb8b5f7d424466dd1ce61fd20658f60543f</id>
<content type='text'>
Petr Baudis pointed out the main git.git repository's Makefile dies
now if git-gui 0.7.0-rc1 or later is being used and TCL_PATH was not
set to a working tclsh program path.  This breaks people who may have
a working build configuration today and suddenly upgrade to the latest
git release.

The tclIndex is required for git-gui to load its associated lib files,
but using the Tcl auto_load procedure to source only the files we need
is a performance optimization.  We can emulate the auto_load by just
source'ing every file in that directory, assuming we source class.tcl
first to initialize our crude class system.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Paperbag fix blame in subdirectory</title>
<updated>2007-05-10T21:53:34Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-05-09T22:35:04Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=6b3d8b97cb48bcc6e2ac020312a56e1d9a2828b2'/>
<id>urn:sha1:6b3d8b97cb48bcc6e2ac020312a56e1d9a2828b2</id>
<content type='text'>
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Generate blame on uncommitted working tree file</title>
<updated>2007-05-09T02:48:47Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-05-09T02:48:47Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=a0db0d61fbc447f13cb0aadf01c83eb193b22dc9'/>
<id>urn:sha1:a0db0d61fbc447f13cb0aadf01c83eb193b22dc9</id>
<content type='text'>
If the user doesn't give us a revision parameter to our blame
subcommand then we can generate blame against the working tree
file by passing the file path off to blame with the --contents
argument.  In this case we cannot obtain the contents of the
file from the ODB; instead we must obtain the contents by
reading the working directory file as-is.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Smarter command line parsing for browser, blame</title>
<updated>2007-05-09T02:36:01Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-05-09T02:36:01Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=3e45ee1ef268c73539903f89c737af89034d391f'/>
<id>urn:sha1:3e45ee1ef268c73539903f89c737af89034d391f</id>
<content type='text'>
The browser subcommand now optionally accepts a single revision
argument; if no revision argument is supplied then we use the
current branch as the tree to browse.  This is very common, so
its a nice option.

Our blame subcommand now tries to perform the same assumptions
as the command line git-blame; both the revision and the file
are optional.  We assume the argument is a filename if the file
exists in the working directory, otherwise we assume the argument
is a revision name.  A -- can be supplied between the two to force
parsing, or before the filename to force it to be a filename.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Use prefix if blame is run in a subdirectory</title>
<updated>2007-05-09T01:58:25Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-05-09T01:58:25Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=c6127856eb318157121b0aeab150c074e9eeb3de'/>
<id>urn:sha1:c6127856eb318157121b0aeab150c074e9eeb3de</id>
<content type='text'>
I think it was Andy Parkins who pointed out that git gui blame HEAD f
does not work if f is in a subdirectory and we are currently running
git-gui within that subdirectory.  This is happening because we did
not take the user's prefix into account when we computed the file
path in the repository.

We now assume the prefix as returned by rev-parse --show-prefix is
valid and we use that during the command line blame subcommand when
we apply the parameters.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Convert blame to the "class" way of doing things</title>
<updated>2007-05-09T01:38:55Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-05-09T01:33:14Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=685caf9af672811b45ebeaaa299b8f9fbd743d82'/>
<id>urn:sha1:685caf9af672811b45ebeaaa299b8f9fbd743d82</id>
<content type='text'>
Our blame viewer code has historically been a mess simply
because the data for multiple viewers was all crammed into
a single pair of Tcl arrays.  This made the code hard to
read and even harder to maintain.

Now that we have a slightly better way of tracking the data
for our "meta-widgets" we can make use of it here in the
blame viewer to cleanup the code and make it easier to work
with long term.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Convert browser, console to "class" format</title>
<updated>2007-05-09T01:38:54Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-05-09T00:33:47Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=c74b6c66f00ce51b2c01d20fc5ef0e6429811124'/>
<id>urn:sha1:c74b6c66f00ce51b2c01d20fc5ef0e6429811124</id>
<content type='text'>
Now that we have a slightly easier method of working with per-widget
data we should make use of that technique in our browser and console
meta-widgets, as both have a decent amount of information that they
store on a per-widget basis and our current approach of handling
it is difficult to follow.

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