Staging
v0.5.2
https://github.com/git/git
Revision c63777c0d7687a1edff2c0da307ad8ac1d75c8f6 authored by Junio C Hamano on 06 May 2007, 04:18:57 UTC, committed by Junio C Hamano on 06 May 2007, 05:40:27 UTC
When you do this, existing "blame -C -C" would not find that the
latter half of the file2 came from the existing file1:

	... both file1 and file2 are tracked ...
	$ cat file1 >>file2
	$ git add file1 file2
	$ git commit

This is because we avoid the expensive find-copies-harder code
that makes unchanged file (in this case, file1) as a candidate
for copy & paste source when annotating an existing file
(file2).  The third -C now allows it.  However, this obviously
makes the process very expensive.  We've actually seen this
patch before, but I dismissed it because it covers such a narrow
(and arguably stupid) corner case.

Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent dd166aa
Raw File
Tip revision: c63777c0d7687a1edff2c0da307ad8ac1d75c8f6 authored by Junio C Hamano on 06 May 2007, 04:18:57 UTC
blame: -C -C -C
Tip revision: c63777c
generate-cmdlist.sh
#!/bin/sh

echo "/* Automatically generated by $0 */
struct cmdname_help
{
    char name[16];
    char help[80];
};

struct cmdname_help common_cmds[] = {"

sort <<\EOF |
add
apply
archive
bisect
branch
checkout
cherry-pick
clone
commit
diff
fetch
grep
init
log
merge
mv
prune
pull
push
rebase
reset
revert
rm
show
show-branch
status
tag
EOF
while read cmd
do
     sed -n '
     /NAME/,/git-'"$cmd"'/H
     ${
            x
            s/.*git-'"$cmd"' - \(.*\)/  {"'"$cmd"'", "\1"},/
	    p
     }' "Documentation/git-$cmd.txt"
done
echo "};"
back to top