Community
Participate
Working Groups
Problem 1 ========= Project A with location a Project B with location a/b Project A is closed AdaptableFileTreeIterator gets 2 containers in this case and might choose the wrong one (the closed project) final IContainer[] containers = root .findContainersForLocationURI(currentFile.toURI()); if (containers.length > 0) return new ContainerTreeIterator(this, containers[0]); In this case Team->commit shows a big list of files with state unknown because the IndexDiff TreeWalk encounters entries with workdir iterator null because the underlying resource does not exist. Problem 2 ========= If both projects A and B are open we have to consider which container is chosen. If A is shared with Git and B not, A should be chosen. If both A and B are shared with Git it happens that the same file appears twice in the commit dialog.
@Problem 2: I think the innermost project should be chosen if >2 resources point on the same file because the outer project is usually created to access files above the inner project but not to access files in the inner project itself. Which project is chosen is e.g. relevant for ignore support: a resource pointing to file f in the outer project might be ignored (derived) while another resource in the inner project also pointing to f is not ignored.
Fix proposed: http://egit.eclipse.org/r/#change,1808 The duplicated entries in the commit dialog require an additional change.
Fixed with 9e84903e1536ba05c91f6f3587cb7aefc6c0999a