ConnectProviderOperation uses git repositories selected by user
commitcb9adcf59464fc49a555516039435c45eb6ccb60
authorMykola Nikishov <mn@mn.com.ua>
Tue, 20 Oct 2009 13:52:20 +0000 (20 16:52 +0300)
committerShawn O. Pearce <spearce@spearce.org>
Tue, 1 Dec 2009 01:35:05 +0000 (30 17:35 -0800)
tree5300b8906a1198b20af2629eea359cd61e827dff
parente1c95778f0db4015967d784c203a7cd4d18441cc
ConnectProviderOperation uses git repositories selected by user

ConnectProviderOperation tried to connect only projects provided
by getProjects() method in ExistingOrNewPage. This method returned
only a list of projects, and the mapping between the project and
its git repository directory is never used and lost.

ConnectProviderOperation tried to find repository itself using
RepositoryFinder's method find(IProgressMonitor).  The logic of this
method was fixed and it returns more then one RepositoryMapping
for a project nested into other git repository. But this isn't
expected by ConnectProviderOperation and it wouldn't even try to
connect such project.

Now:

- method getProjects() in ExistingOrNewPage now returns a pairing,
  Map<IProject, File> instead of IProject[]. It provides information
  about git repositories which has been selected by user for each
  project. If a git repository path is absolute (it was just created)
  it will make it relative to the project's root.

- ConnectProviderOperation uses Map<IProject, File> instead of
  IProject[] and will connect project to git repository only if
  it has been founded in repository mappings provided by method
  find(IProgressMonitor) for a given project.

- default value '../.git' provided for just introduced field
  GitProjectsImportPage.ProjectRecord.repository

- path to a test repository in unit tests

Bug: 291303
Change-Id: Id6f30efd6a4d10a4f1946e92dc54e51972166be9
Signed-off-by: Mykola Nikishov <mn@mn.com.ua>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
org.eclipse.egit.core.test/src/org/eclipse/egit/core/T0003_AdaptableFileTreeIteratorTest.java
org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/mapping/T0002_history.java
org.eclipse.egit.core.test/src/org/eclipse/egit/core/op/T0001_ConnectProviderOperationTest.java
org.eclipse.egit.core/src/org/eclipse/egit/core/op/ConnectProviderOperation.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitProjectsImportPage.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/sharing/ExistingOrNewPage.java