Bug 230533 - IAE importing team project set from Subsclipse 1.2.4
Summary: IAE importing team project set from Subsclipse 1.2.4
Status: RESOLVED NOT_ECLIPSE
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Resources (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows XP
: P3 normal with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: Platform-Resources-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-06 18:11 EDT by Benjamin Pasero CLA
Modified: 2008-05-07 09:37 EDT (History)
4 users (show)

See Also:


Attachments
Failing Team Project Set from Subclipse 1.2.4 (1004 bytes, application/octet-stream)
2008-05-06 18:12 EDT, Benjamin Pasero CLA
no flags Details
Project set file that fails to import (817 bytes, application/xml)
2008-05-06 22:34 EDT, Tom Morris CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Pasero CLA 2008-05-06 18:11:25 EDT
Eclipse: 3.4 M7
Subsclipse: 1.2.4

The team project set was created from the same config and importing it resulted in this:

java.lang.IllegalArgumentException: Attempted to beginRule: P/org.rssowl.core, does not match outer scope rule: P/org.rssowl
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:64)
at org.eclipse.core.internal.jobs.ThreadJob.illegalPush(ThreadJob.java:122)
at org.eclipse.core.internal.jobs.ThreadJob.push(ThreadJob.java:232)
at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:58)
at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:230)
at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:117)
at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1747)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1795)
at org.tigris.subversion.subclipse.core.SVNProviderPlugin.run(SVNProviderPlugin.java:480)
at org.tigris.subversion.subclipse.core.commands.CheckoutCommand.run(CheckoutCommand.java:211)
at org.tigris.subversion.subclipse.core.SVNProjectSetCapability$LoadInfo.checkout(SVNProjectSetCapability.java:270)
at org.tigris.subversion.subclipse.core.SVNProjectSetCapability.checkout(SVNProjectSetCapability.java:169)
at org.tigris.subversion.subclipse.core.SVNProjectSetCapability.addToWorkspace(SVNProjectSetCapability.java:108)
at org.eclipse.team.internal.ui.ProjectSetImporter.importProjectSet(ProjectSetImporter.java:70)
at org.eclipse.team.internal.ui.wizards.ImportProjectSetOperation.run(ImportProjectSetOperation.java:44)
at org.eclipse.team.internal.ui.actions.ProgressDialogRunnableContext$3.run(ProgressDialogRunnableContext.java:100)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
at org.eclipse.team.internal.ui.actions.ProgressDialogRunnableContext$2.run(ProgressDialogRunnableContext.java:97)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)


This worked before. Find the project set attached.
Comment 1 Benjamin Pasero CLA 2008-05-06 18:12:05 EDT
Created attachment 98975 [details]
Failing Team Project Set from Subclipse 1.2.4
Comment 2 Tom Morris CLA 2008-05-06 22:33:12 EDT
I'm seeing the same error.  M6 can't import either a project set file created with Eclipse 3.3 or a new project set file created with 3.4M6.

Ganymede M6 I20080409-1425, Subclipse 1.2.4

java.lang.IllegalArgumentException: Attempted to beginRule: P/argouml-core-infra, does not match outer scope rule: P/argouml-app
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:62)
at org.eclipse.core.internal.jobs.ThreadJob.illegalPush(ThreadJob.java:122)
at org.eclipse.core.internal.jobs.ThreadJob.push(ThreadJob.java:232)
at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:58)
at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:230)
at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:117)
at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1747)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1795)
at org.tigris.subversion.subclipse.core.SVNProviderPlugin.run(SVNProviderPlugin.java:480)
at org.tigris.subversion.subclipse.core.commands.CheckoutCommand.run(CheckoutCommand.java:211)
at org.tigris.subversion.subclipse.core.SVNProjectSetCapability$LoadInfo.checkout(SVNProjectSetCapability.java:270)
at org.tigris.subversion.subclipse.core.SVNProjectSetCapability.checkout(SVNProjectSetCapability.java:169)
at org.tigris.subversion.subclipse.core.SVNProjectSetCapability.addToWorkspace(SVNProjectSetCapability.java:108)
at org.eclipse.team.internal.ui.ProjectSetImporter.importProjectSet(ProjectSetImporter.java:70)
at org.eclipse.team.internal.ui.wizards.ImportProjectSetOperation.run(ImportProjectSetOperation.java:44)
at org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:144)
at org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:72)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 3 Tom Morris CLA 2008-05-06 22:34:27 EDT
Created attachment 98997 [details]
Project set file that fails to import
Comment 4 Szymon Brandys CLA 2008-05-07 09:15:43 EDT
This problem is related to the fix for bug 128709. 

Now modifyRule for a project is the Project, as it used to be. See bug 128709.
I hope that consequences of it are clear.

I think that the troublesome piece of code in Subclipse is in SVNProjectSetCapability#checkout.

We have there

1) ISchedulingRule rule = projects[0].getWorkspace().getRuleFactory().modifyRule(projects[0]);

and then 

2) if (info != null && info.checkout(new SubProgressMonitor(monitor, 1000))) {

what effectively calls

3) CheckoutCommand#run which sequentially starts modifyRule for all projects from the team project set

Previously: modifyRule for each project was Workspace = no conflicts
Now: modifyRule for a project is the project = conflicting rules

In 1) Subclipse should create a rule which is combined rule of modifyRule for all projects in the team project set.

I hope it is clear ;-)

Ben, can you spread the knowledge among Subclipse guys?
Comment 5 Benjamin Pasero CLA 2008-05-07 09:37:04 EDT
Thanks for looking into the code of Subsclipse! Yes I will file a bug for Subclipse and let them know.