| Summary: | (PatchAttached)[CVS Watch/Edit] "Team Edit" should set temporary watch | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | stefan |
| Component: | Team | Assignee: | Platform-VCM-Inbox <platform-vcm-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P4 | CC: | andrewsc, Bruce.Gibbons, sales |
| Version: | 2.1 | Keywords: | helpwanted |
| Target Milestone: | 3.2 M2 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 109780 | ||
| Attachments: | |||
|
Description
stefan
IMHO this is not an enhancement but a bug! See http://www.loria.fr/~molli/cvs/doc/cvs_10.html#SEC86 for the description of an approrpriate "cvs edit". It has to set a "watch". This is even more necessary as other cvs clients rely on this. From looking at this -- it seems that the 'EUC' operator on the notify isn't being sent. (I don't have a copy of the Eclipse src downloaded, so I just ran ethereal to compare what was different). Using the 'CVS' command, The entry that gets sent is : Directory . /src/cvs/CVSROOT Notify users E Fri Aug 13 17:30:16 2004 GMT falcon /home/andrew/workspace/CVSROOT EUC When using Eclipse, the entry that gets sent is : Root /src/cvs Global_option -r Directory . /src/cvs/CVSROOT Notify users E 13 Aug 2004 17:31:05 GMT falcon /home/andrew/workspace/CVSROOT Directory . /src/cvs/CVSROOT noop From looking at http://www.elegosoft.com/cvs/cvsclient.html - it shows that EUC is required for Edit/Unedit/Commit watches. Given that Eclipse has an option "Send Watch/Edit", but the Watch part is being ignored, I am assuming this is a bug not a feature, that the EUC entries aren't being sent. *** Bug 83758 has been marked as a duplicate of this bug. *** There is currently no plan to address this item. Created attachment 25737 [details]
Patch to org.eclipse.team.cvs.core project to allow for (optional) Temporary Edit watches.
I took a look to see what would be involved in getting temporary edit watches
to work within Eclipse. I've put together two patches, one for the cvs core
project, and one for the cvs UI project.
One issue I had which may want further looking at is a StackOverflowException
occurs within CVSCoreFileModificationValidator which I prevented by stopping
the recursion if the two classnames were the same, but without knowing more
details about how the callbacks of Eclipse works that may not be a valid
assumption!
Created attachment 25738 [details]
Patch to org.eclipse.team.cvs.ui project to allow for temporary edits at commit time.
(Second patch)
After some further investigation -- the StackOverflowError was because I was in between stable revisions (I put the changes into the HEAD of the projects). When updating to the HEAD again, or using the R3_1 version as the basepoint, I did not need the StackOverflow correction code. Reopening to consider patch Thanks for the patch. I won't have a chance to have a look at this before M1 (next week) so I'll have a look during M2. Patch Released. Thanks Again. Also, I made a few minor modifications: 1) Move preference to watch edit preference page 2) Moved the setting of the notification to CVSTeamProvider so the change was only required in one place instead of 2. 3) Made the core preference a preference setting instead on an instance variable Thanks -- I am not particularly fluent with "under the covers" of Eclipse which is why I probably didn't have a few things in the right place. I agree that the preference setting should be a sub-section of Watch/Edit rather than the core preference screen. Will this be in 3.1M2? Yes. It will also be in next weeks integration build which should be available next Tuesday if you don't want to wait the six weeks until M2. |