I really don't think File was the right type to use here.  The list of paths that conflict should be relative to the root of the working tree, because that is what the UI will want to show the user.

If the UI needs the java.io.File, that's a simple matter of joining the String with the root of the working tree.

Here by returning java.io.File we can now technically return any path object, one that might not even be prefixed by the working tree root, but is still within it.  Consider if the working tree root is actually resolved via a symlink... here we might return the canonical path and not the logical path.

*sigh*

We sort-of need the NIO2 Path object.  Maybe we should be implementing something like it for these working tree paths instead of relying on String or File.