| Summary: | [resources] IResource.copy(FORCE_OVERWRITE) required | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Kevin McGuire <Kevin_McGuire> |
| Component: | Resources | Assignee: | DJ Houghton <dj.houghton> |
| Status: | RESOLVED WONTFIX | QA Contact: | |
| Severity: | major | ||
| Priority: | P2 | CC: | jeem, n.a.edgar |
| Version: | 2.1 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows 2000 | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 21666 | ||
|
Description
Kevin McGuire
Also need FORCE_OVERWRITE for IResource.move. May want to rename the flag to just OVERWRITE, so as not to be confused with FORCE, which has to do with out-of-sync source files, not destination files. After further discussion with Kevin and DJ, the proposed solution is quite different: (a) have Eclipse UI use IFile.setContents() in the file overwrite cases, instead of delete();copy() (b) add a core mechanism so that a client that sets a persistent resource property can mark the property "DO NOT COPY/MOVE", and change IResource.copy() and move() to honor this request. The advantage of doing this on a individual property instance basis is that the info is kept with the workspace, and can be honored even when the owning plug-in is not installed. If we're using setContents, then properties will never get copied for conflict cases, which differs from the non-conflict cases. In my mind, the conflict cases should work the same as delete/copy, but without the delete. #setContents should be used and it is ok that the properties are not moved. Recommend against including a new flag for copy and move as that would require team providers to also implement this behaviour in their move/delete hooks. |