finding similar blobs (was: Re: $Revision$ keyword replacement?
- From
Junio C Hamano <junkio@cox.net>
- Date
- Nov 22, 2005, 22:42 UTC
- Message-ID
- <7vy83gb8zk.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <871x18h9ee.fsf@ifae.es>
Santi Béjar <sbejar@gmail.com> writes:
> How similar this file is to the file $path in these commit(s)?
Very cute.
> tmp=`mktemp -t -d git-find-sim.XXXXXXX` > ... > git update-index --add $file || exit 1 > tree=`git-write-tree`
Are you going through all this trouble just to avoid a blob and a tree object left dangling after you are done? Or is there something else going on?
Show 6 quoted lines
> rev_arg=`GIT_DIR=$GIT_DIR_ORIG git-rev-parse --default HEAD --revs-only "$@"` > revs=`GIT_DIR=$GIT_DIR_ORIG git-rev-list $rev_arg` > for i in $revs; do > git diff-tree --name-status $i -C $tree | grep $file | > sed "s/^/$i:/" > done
Perhaps
GIT_DIR=$GIT_DIR_ORIG git-rev-list $rev_arg |
while read one
git diff-tree --name-status -r $one -C $tree | grep $file |
sed "s/^/$one:/"
donejust in case the similar file you will discover is hidden in a subdirectory?