Community
Participate
Working Groups
from bug 228717 - From Joe Thomas-Kerr 2008-08-03 20:26:31 -0400 [reply] ------- I am still having issues with this in the 3.4 release. I am finding that the Team/commit keyboard shortcut works intermittently. In my most recent test using the C/C++ projects view: - selecting one file with changes and pressing the commit shortcut works. - selecting its parent folder and pressing the shortcut gives a "the selected resources do not contain any changes" - selecting a second file with pending changes in a different folder gives the same error message (even though the file does contain changes and is annotated as such). - pressing the commit shortcut of the parent folder of this file also gives the same error message. - Using the commit shortcut on these same 4 resources in the Package Explorer view opens the commit dialog as expected. However, I have previously experienced the same problems using Project Explorer. Joe.
I'll see if we can do anything for 3.4.1 but it might need to be deferred to 3.5 PW
I can't reproduce this on my maintenance build using the project explorer. Could I get you to do some tracing when the problem asserts itself: http://wiki.eclipse.org/Platform_Command_Framework#Tracing_Option org.eclipse.ui/debug=true org.eclipse.ui/trace/keyBindings=true #org.eclipse.ui/trace/keyBindings.verbose=true org.eclipse.ui/trace/sources=true org.eclipse.ui/trace/handlers=true org.eclipse.ui/trace/handlers.verbose=true #org.eclipse.ui/trace/handlers.verbose.commandId=org.eclipse.ui.edit.copy org.eclipse.ui/trace/handlers.verbose.commandId=org.eclipse.team.cvs.ui.commit org.eclipse.ui/trace/contexts=true #org.eclipse.ui/trace/contexts.verbose=true if you run from the command line with the debug file (contents above) you should see output when trying to execute the Commit keybinding. Capture the output in a log file please. We only have this week and next week (more or less) to get fixes into 3.4.1. PW
Created attachment 110400 [details] Trace file for commands Here's some tracing logs. I tried it first with C++ projects view: 1. Press ctrl+shift+c. Message box opens to say "Nothing to commit". 2. Right-click the same folder, select Team and then Commit. Commit dialog opens happily. I then did other things for a bit, then repeated the process using project explorer with the same result. I suspect that the issue is that the key binding fails to pass on some sort of parameter (perhaps the selection?), since the shortcut trace looks like this: WorkbenchKeyboard.executeCommand(commandId = 'org.eclipse.team.cvs.ui.commit', parameters = {}) The logs didn't say anything about the context menu command other than the fact that the commit dialog opened. Hope this helps.
(In reply to comment #3) > Created an attachment (id=110400) [details] > Trace file for commands Joe, thanx for the tracing. With the tracing I suggested it should include some lines like: HANDLERS >>> Command('org.eclipse.jdt.ui.navigate.open.type') has changed to 'ActionDelegateHandlerProxy(null,org.eclipse.jdt.internal.ui.actions.OpenTypeAction)' as its handler for the org.eclipse.team.cvs.ui.commit command (if that's the one you are tracking). Are these lines in your options file? org.eclipse.ui/trace/handlers=true org.eclipse.ui/trace/handlers.verbose=true org.eclipse.ui/trace/handlers.verbose.commandId=org.eclipse.team.cvs.ui.commit PW
We might be able to look at this in 3.4.2 if we can track down the cause. PW
Created attachment 111150 [details] A better trace file My bad - I think I copied the debug statements from the wiki page without comparing them to the ones in your comment. In any case, here is a debug file that hopefully contains the data you need. Regards, Joe
I wasn't able to reproduce this on 3.4.1. I worked with Commit and the Project Explorer (and the Package explorer was never open in that session) and followed the usecase in the description. Is there any more information that you have. Is the CDT commit simply the Team Commit...? PW
Hi Joe, I've been over the log and there's nothing suspicious there (like an out-and-out commit conflict). I think we need a new log, marked up with the "here is where it worked" and "here is where it failed". PW
I've done another trace and marked the successful and failed instances with #####. That is, I executed the action, then opened the log and found the last instance of 'commit'. Hopefully, if the log messages aren't cached, that will be the instance that we are interested in. So the process was: 1. Activate project explorer. 2. Select a dirty file 3. press 'ctrl+shift+c'. (Commit dialog opens correctly). 4. Press cancel. 5. Open debug.log. Find the last commit action and mark it with '####'. 6. Activate 'C/C++ Projects'. 7. Select the same dirty file. 8. press 'ctrl+shift+c'. (Dialog with 'selected resources do not contain any changes' incorrectly appears). 9. Press OK. 10. Open debug.log. Find the last commit action and mark it with '####'.
Created attachment 127424 [details] Log file with occurrences marked
Joe, thank you for your patience, but I just haven't been able to reproduce the problem (I've been going over it on 3.5). There have been some changes to update the selection of the ActionDelegateHandlerProxy more consistently, but nothing traumatic (and the 3.4.2 code should be identical to the 3.5 code). If you can reproduce it easily in a self-hosted scenario (launching eclipse from within eclipse), the only other thing I can think of is to start adding conditional breakpoints. I can supply a stash of breakpoints and then we can look at the output. PW
I still cannot reproduce ... should we look into this again? PW
There have been changes to the Team commit action/keybinding in 3.6 and it works consistently for me now. Please re-open if the problem persists in 3.6 M7 or builds greater than I20100406-1034 PW