Subject: Re: finding similar blobs (was: Re: $Revision$ keyword replacement?

From: Santi Bejar <[email-masked]>
Date: Wed, 23 Nov 2005 00:10:27 +0100

2005/11/22, Junio C Hamano <[email-masked]>:
> Santi Béjar <[email-masked]> writes:
>

>
> > 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?

No, there is nothing else. These are "easy" avoided, so why have these
dangling {blob,tree,...}s?

>
> > 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:/"
>         done
>
> just in case the similar file you will discover is hidden in a
> subdirectory?

Oops :)

Santi