Skip to main content

[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:
>> : bulk of the rename detector
>> : 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.


Back to the top