[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [jgit-dev] rename detection working
|
On Mon, Jul 5, 2010 at 2:17 AM, Matthias Sohn
<matthias.sohn@xxxxxxxxxxxxxx> wrote:
> 2010/7/4 Shawn O. Pearce <spearce@xxxxxxxxxxx>
>>
>> Folks, we now have rename detection in JGit. Its working pretty
>> well already. It could be faster, blah blah blah, but it seems
>> pretty solid thus far.
>>
>> For example:
>>
>> $ jgit log --name-status --follow builtin/fsck.c | grep ^R
>> R100 builtin-fsck.c builtin/fsck.c
>> R099 fsck.c builtin-fsck.c
>> R099 fsck-objects.c fsck.c
>> R099 fsck-cache.c fsck-objects.c
>>
>> :-)
>>
>> The code to use it is pretty simple. Assuming you already have a
>> properly configured TreeWalk for the difference you want to view:
>>
>> RenameDetector rd = new RenameDetector(repository);
>> rd.addAll(DiffEntry.scan(tw));
>> List<DiffEntry> files = rd.compute();
>>
>> And then traverse over that file set. Since compute can be very
>> long running (due to the O(N^2) nature of the rename algorithm),
>> you can also pass it a ProgressMonitor.
>>
>> Patches are on Gerrit pending review. Some major highlights from
>> the series are:
>>
>> http://egit.eclipse.org/r/1048 : bulk of the rename detector
>> http://egit.eclipse.org/r/1055 : log --follow
>
> Wow, this was a fast win :-)
> I think we need CQs for some of Jeff's changes (some have already been
> merged),
> or can they pass IP clearance with PMC approval ?
I think they can go with just PMC approval. Jeff is my intern at
Google. As such, his work is copyright Google, and I'm the one
submitting it on his behalf.
--
Shawn.