Created mapping between IContainers within Eclipse and
commit84a899697aad8ed660db4605b5c8d0b30c18d6f5
authorShawn O. Pearce <spearce@spearce.org>
Wed, 22 Mar 2006 02:44:10 +0000 (21 21:44 -0500)
committerShawn O. Pearce <spearce@spearce.org>
Wed, 22 Mar 2006 02:44:10 +0000 (21 21:44 -0500)
tree6ad2df1c74434d7df8d76fbf6678e36352c46099
parent6d6a2c4a162ac20725a392212bf553207a9af68d
Created mapping between IContainers within Eclipse and
GIT Repository objects.  A repository is chosen for
an IContainer if the repository lives directly within
it (as the .git directory) or if the IContainer is
physically within a repository on the local filesystem.
This containment may be external to Eclipse and could be
through a linked folder.  In short if an IContainer is
physically within a GIT repository's working directory then
we load that mapping when setting up the team provider.

Protected active GIT repositories contained within
Eclipse folders.  It is now impossible to delete, move
or rename an IContainer within Eclipse which directly or
indirectly contains a GIT repository which has been mapped
by the GIT team provider.  This prevents us from having
repositories going away suddenly.  Yes we could actually
update our internal mapping to the new location but this
could be rather complex so we are just going to punt on
it right now.

Marked all .git directories discovered to be team
private resources.  Unfortunately Eclipse doesn't always
immediately reflect this in the GUI despite a complete
resource refresh during the connect operation.

Patch: Prototype-Implementation
19 files changed:
org.spearce.egit.core/src/org/spearce/egit/core/CoreText.java
org.spearce.egit.core/src/org/spearce/egit/core/GitMoveDeleteHook.java [new file with mode: 0644]
org.spearce.egit.core/src/org/spearce/egit/core/GitProjectData.java [new file with mode: 0644]
org.spearce.egit.core/src/org/spearce/egit/core/GitProvider.java
org.spearce.egit.core/src/org/spearce/egit/core/RepositoryFinder.java [new file with mode: 0644]
org.spearce.egit.core/src/org/spearce/egit/core/coretext.properties
org.spearce.egit.core/src/org/spearce/egit/core/op/ConnectProviderOperation.java
org.spearce.egit.core/src/org/spearce/egit/core/op/DisconnectProviderOperation.java [new file with mode: 0644]
org.spearce.egit.ui/.options
org.spearce.egit.ui/plugin.properties
org.spearce.egit.ui/src/org/spearce/egit/ui/UIText.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/AbstractOperationAction.java [new file with mode: 0644]
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/Disconnect.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/sharing/CreateRepositoryPage.java [deleted file]
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/sharing/ExistingOrNewPage.java [new file with mode: 0644]
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/sharing/ExistingRepositoryPage.java [deleted file]
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/sharing/SharingWizard.java
org.spearce.egit.ui/src/org/spearce/egit/ui/uitext.properties
org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java