Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Rename compare{WithCommonPrefix -> FirstSegment}

since that is what the method does: comparing the first segment of two

paths.

  1. … 2 more files in changeset.
Add another sample to compareWithCommonPrefix

Use Comparable in SearchUtil

This requires to turn around the compareWithCommonPrefix function to

make it consistent with they way it is used in `binarySearch`

  1. … 3 more files in changeset.
Address more review feedback

  1. … 1 more file in changeset.
Remove `compareToPrefix`

since the resulting compare function is not symmetric, since if path1

is an actual prefix of path2, the converse is not true. Using

`compareWithCommonPrefix` works as good.

  1. … 2 more files in changeset.
Clarify methods in PathUtil

by renaming/adding better Javadoc

  1. … 2 more files in changeset.
Special case 0 and 1 elements in binarySearch

  1. … 1 more file in changeset.
Extract constant minimum child number for binary search

to get rid of the magic number.

Pass CaseSensitivity to DefaultVirtualFileSystem

for better readability.

  1. … 4 more files in changeset.
Use CaseSensitivity for all methods in PathUtil

  1. … 2 more files in changeset.
Use Character.compare instead of -

That makes the code better readable.

Improve Javadoc on PathUtil

Co-Authored-By: Lóránt Pintér <lorant@gradle.com>

Remove rogue newline

Move properties related to VFS to VFS service registry

  1. … 3 more files in changeset.
First ugly implementation of virtual file system retention

The way this thing is configured needs work.

  1. … 5 more files in changeset.
Add more Javadoc

  1. … 1 more file in changeset.
Polish Javadoc

Fix equalChars

Two characters are the same when the lowercase or the uppercase form

are the same.

  1. … 2 more files in changeset.
Fix path-insensitive comparison

  1. … 2 more files in changeset.
Only do a binary search with more than 10 children

isChildOfOrThis is faster than compareChildOfOrThis, so use the former

up to more elements without doing a binary search.

Compare file names via the String methods

instead of implementing own iteration methods.

  1. … 1 more file in changeset.
Remove all logic from CaseSensitivity

    • -129
    • +2
    ./org/gradle/internal/snapshot/CaseSensitivity.java
  1. … 3 more files in changeset.
Remove remaining polymorphism

    • -15
    • +10
    ./org/gradle/internal/snapshot/CaseSensitivity.java
More statics

Use more statics

so maybe more code is inlined.

    • -65
    • +10
    ./org/gradle/internal/snapshot/CaseSensitivity.java
Revert "Do not use Lambdas in CaseSensitivity"

This reverts commit 3a3419f93befabe6947db2786a28bf358a53e779.

    • -47
    • +47
    ./org/gradle/internal/snapshot/CaseSensitivity.java
Do not use Lambdas in CaseSensitivity

Let's see if that makes performance better.

    • -47
    • +47
    ./org/gradle/internal/snapshot/CaseSensitivity.java
Only compare caseInsensitive once

and try to re-do as little work as possible.

    • -79
    • +99
    ./org/gradle/internal/snapshot/CaseSensitivity.java
  1. … 5 more files in changeset.
Fix cases where segment is the same ignoring case

The comparison needs to be per segment, so if the first segment is

the same ignoring case and there already is a case difference, then

that case difference is the result of the comparison, no matter what

the next segment comparison is.

    • -109
    • +95
    ./org/gradle/internal/snapshot/CaseSensitivity.java
  1. … 4 more files in changeset.
Fix compare* functions for case sensitive

I can make it faster/nicer later.

    • -12
    • +144
    ./org/gradle/internal/snapshot/CaseSensitivity.java
  1. … 5 more files in changeset.