git-commit-vandalism/lib
Shawn O. Pearce 172c92b475 git-gui: Run blame twice on the same file and display both outputs
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 <spearce@spearce.org>
2007-06-06 01:26:51 -04:00
..
blame.tcl git-gui: Run blame twice on the same file and display both outputs 2007-06-06 01:26:51 -04:00
branch.tcl git-gui: Allow creating a branch when none exists 2007-05-30 19:34:40 -04:00
browser.tcl git-gui: Convert blame to the "class" way of doing things 2007-05-08 21:38:55 -04:00
class.tcl git-gui: Don't attempt to inline array reads in methods 2007-05-08 21:38:54 -04:00
commit.tcl git-gui: Refactor into multiple files to save my sanity 2007-05-07 23:35:48 -04:00
console.tcl git-gui: Convert browser, console to "class" format 2007-05-08 21:38:54 -04:00
database.tcl git-gui: Convert browser, console to "class" format 2007-05-08 21:38:54 -04:00
diff.tcl git-gui: Allow as few as 0 lines of diff context 2007-05-31 23:32:54 -04:00
error.tcl git-gui: Refactor into multiple files to save my sanity 2007-05-07 23:35:48 -04:00
index.tcl git-gui: Refactor into multiple files to save my sanity 2007-05-07 23:35:48 -04:00
merge.tcl git-gui: Convert browser, console to "class" format 2007-05-08 21:38:54 -04:00
option.tcl git-gui: Display the "Loading annotation..." message in italic 2007-06-06 01:26:51 -04:00
remote.tcl git-gui: Refactor into multiple files to save my sanity 2007-05-07 23:35:48 -04:00
shortcut.tcl git-gui: Refactor into multiple files to save my sanity 2007-05-07 23:35:48 -04:00
transport.tcl git-gui: Move console procs into their own namespace 2007-05-07 23:35:50 -04:00