<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git, branch gitgui-0.7.3</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=gitgui-0.7.3</id>
<link rel='self' href='https://git.shady.money/git/atom?h=gitgui-0.7.3'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2007-06-08T06:50:07Z</updated>
<entry>
<title>git-gui: Changed blame header bar background to match main window</title>
<updated>2007-06-08T06:50:07Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-06-08T06:02:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d80ded01de0189fe7179913d3ecdeecadf2052a0'/>
<id>urn:sha1:d80ded01de0189fe7179913d3ecdeecadf2052a0</id>
<content type='text'>
The main window's diff header bar background switched from orange
to gold recently, and I liked the effect it had on readability of
the text.  Since I wanted the blame viewer to match, here it is.

Though this probably should be a user defined color, or at least
a constant somewhere that everyone can reference.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Favor the original annotations over the recent ones</title>
<updated>2007-06-06T07:22:22Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-06-06T07:22:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0f32da53df706220e7392a29d8e462b57345df3d'/>
<id>urn:sha1:0f32da53df706220e7392a29d8e462b57345df3d</id>
<content type='text'>
Usually when you are looking at blame annotations for a region of
a file you are more interested in why something was originally
done then why it is here now.  This is because most of the time
when we get original annotation data we are looking at a simple
refactoring performed to better organize code, not to change its
semantic meaning or function.  Reorganizations are sometimes of
interest, but not usually.

We now show the original commit data first in the tooltip.  This
actually looks quite nice as the original commit will usually have an
author date prior to the current (aka move/copy) annotation's commit,
so the two commits will now tend to appear in chronological order.

I also found myself to always be clicking on the line of interest
in the file column but I always wanted the original tracking data
and not the move/copy data.  So I changed our default commit from
$asim_data (the simple move/copy annotation) to the more complex
$amov_data (the -M -C -C original annotation).

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Improve our labeling of blame annotation types</title>
<updated>2007-06-06T07:03:52Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-06-06T07:03:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=949da61b9b84bfb48ed2ff2dea068a1d19fb847b'/>
<id>urn:sha1:949da61b9b84bfb48ed2ff2dea068a1d19fb847b</id>
<content type='text'>
It feels wrong to call the -M -C -C annotations "move/copy tracking"
as they are actually the original locations.  So I'm relabeling
the status bar to show "copy/move tracking annotations" for the
current file (no -M -C -C) as that set of annotations tells us who
put the hunk here (who moved/copied it).  I'm now calling the -M
-C -C pass "original location annotations" as that's what we're
really digging for.

I also tried to clarify some of the text in the hover tooltip.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Use three colors for the blame viewer background</title>
<updated>2007-06-06T06:53:36Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-06-06T06:53:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5d198d676667ecd3beeac816049bfc777b9c8566'/>
<id>urn:sha1:5d198d676667ecd3beeac816049bfc777b9c8566</id>
<content type='text'>
To prevent neighboring lines that are different commits from using
the same background color we now use 3 colors and assign them
by selecting the color that is not used before or after the line
in question.  We still color "on the fly" as we receive hunks from
git-blame, but we delay our color decisions until we are getting
the original location data (the slower -M -C -C pass) as that is
usually more fine-grained than the current location data.

Credit goes to Martin Waitz for the tri-coloring concept.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Jump to original line in blame viewer</title>
<updated>2007-06-06T05:26:52Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-06-04T08:07:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0dfed77b3cc81342aee4c81e477d636a378c51cb'/>
<id>urn:sha1:0dfed77b3cc81342aee4c81e477d636a378c51cb</id>
<content type='text'>
When the user clicks on a commit link within one of the columns
in the blame viewer we now jump them not just to that commit/file
pair but also to the line of the original file.  This saves the
user a lot of time, as they don't need to search through the new
file data for the chunk they were previously looking at.

We also restore the prior view when the user clicks the back button
to return to a pior commit/file pair that they were looking at.

Turned out this was quite tricky to get working in Tk.  Every time
I tried to jump the text widgets to the correct locations by way
of the "yview moveto" or "see" subcommands Tk performed the change
until the current event finished dispatching, and then reset the
views back to 0, making the change never take place.  Forcing Tk
to run the pending events before we jump the UI resolves the issue.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Display both commits in our tooltips</title>
<updated>2007-06-06T05:26:52Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-06-02T23:03:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=383d4e0f8b72f739c16ef7d723a134d59a0a0c2f'/>
<id>urn:sha1:383d4e0f8b72f739c16ef7d723a134d59a0a0c2f</id>
<content type='text'>
If we have commit data from both the simple blame and the
rename/move tracking blame and they differ than there is a
bigger story to tell.  We now include data from both commits
so that the user can see that this link as moved, who moved
it, and where it originated from.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Run blame twice on the same file and display both outputs</title>
<updated>2007-06-06T05:26:51Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-06-02T22:21:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=172c92b47512adc45516cd72e607bea55b2414b4'/>
<id>urn:sha1:172c92b47512adc45516cd72e607bea55b2414b4</id>
<content type='text'>
We now perform two passes over any input file given to the blame
viewer.  Our first pass is a quick "git-blame" with no options,
getting the details of how each line arrived into this file.  We
are specifically ignoring/omitting the rename detection logic as
this first pass is to determine why things got into the state they
are in.

Once the first pass is complete and is displayed in the UI we run
a second pass, using the much more CPU intensive "-M -C -C" options
to perform extensive rename/movement detection.  The output of this
second pass is shown in a different column, allowing the user to see
for any given line how it got to be, and if it came from somewhere
else, where that is.

This is actually very instructive when run on our own lib/branch.tcl
script.  That file grew recently out of a very large block of code
in git-gui.sh.  The first pass shows when I created that file, while
the second pass shows the original commit information.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Display the "Loading annotation..." message in italic</title>
<updated>2007-06-06T05:26:51Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-06-02T21:15:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=debcd0fd02bda82e3c81e6739bcb26135ac00b85'/>
<id>urn:sha1:debcd0fd02bda82e3c81e6739bcb26135ac00b85</id>
<content type='text'>
If the user clicks on a line region that we haven't yet received
an annotation for from git-blame we show them "Loading annotation".
But I don't want the user to confuse this loading message with a
commit whose first line is "Loading annotation" and think we messed
up our display somehow.  Since we never use italics for anything
else, I'm going with the idea that italic slant can be used to show
data is missing/elided out at the time being.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Rename fields in blame viewer to better descriptions</title>
<updated>2007-06-06T05:26:51Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-06-03T03:26:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fc816d7b857a5033982b421a384f7b2d932f57e6'/>
<id>urn:sha1:fc816d7b857a5033982b421a384f7b2d932f57e6</id>
<content type='text'>
Calling the commit message pane $w_cmit is a tad confusing when
we also have the $w_cgrp column that shows the abbreviated SHA-1s.

So w_cmit -&gt; w_cviewer, as it is the "commit viewer"; and
w_cgrp -&gt; w_amov as it is the "annotated commit + move tracking"
column.  Also changed line_data -&gt; amov_data, as that list is
exactly the results shown in w_amov.

Why call the column "move tracking"?  Because this column holds
data from "git blame -M -C".  I'm considering adding an additional
column that holds the data from "git blame" without -M/-C, showing
who did the copy/move, and when they did it.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Label the uncommitted blame history entry</title>
<updated>2007-06-06T05:26:50Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-06-02T20:03:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c5db65aef3b4268adbadc8019ecbd7d3fdc374e8'/>
<id>urn:sha1:c5db65aef3b4268adbadc8019ecbd7d3fdc374e8</id>
<content type='text'>
If the user runs the blame viewer on a working directory file
instead of a specific commit-ish then we have no value for the
commit SHA1 or the summary line; this causes the history menu
to get an empty entry at the very bottom.  We now look for this
odd case and call the meny entry "Working Directory".

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