Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 309074 - [KeyBindings] SVN Sync and Commit keybindings no longer work
Summary: [KeyBindings] SVN Sync and Commit keybindings no longer work
Status: RESOLVED FIXED
Alias: None
Product: Subversive
Classification: Technology
Component: UI (show other bugs)
Version: 0.7   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 minor with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: Igor Burilo CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 316753 317758 318382 320177 321208 325509 326558 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-04-14 03:57 EDT by Sascha Kiedrowski CLA
Modified: 2014-11-22 16:09 EST (History)
30 users (show)

See Also:


Attachments
debug log, see comment #4 (36.21 KB, text/plain)
2010-04-14 08:34 EDT, Sascha Kiedrowski CLA
no flags Details
complete log file for key not handled problem (180.54 KB, text/plain)
2010-06-02 08:47 EDT, Rainer CLA
no flags Details
new logfile with patched debug.options (176.75 KB, text/plain)
2010-06-02 09:07 EDT, Rainer CLA
no flags Details
Patch against eclipse helios (3.20 KB, patch)
2010-10-10 21:21 EDT, Qiangsheng Wang CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sascha Kiedrowski CLA 2010-04-14 03:57:24 EDT
Build Identifier: 

Select a project in the Package Explorer, press CTRL+ALT+W:
Expected: "Show In" popup (CTRL+ALT+W is shown as a shortcut if I right-click on the selected project)
Is: next file starting with "w" is selected

It seems all shortcut using CTRL+ALT fail (i.e. CTRL+ALT+S (subversion synchronize), CTRL+ALT+U (subversion update),...) while ALT+CMD shortcuts generally work (ALT+CMD+S => Source Popup)

Reproducible: Always

Steps to Reproduce:
1. Get a Mac running Eclipse Version: 3.6.0 / Build id: I20100406-1034 (Mac/Cocoa/x86_64)
2. Select a project
3. press CTRL+ALT+W
4. ==> no popup
Comment 1 Paul Webster CLA 2010-04-14 07:57:13 EDT
Does ALT+CMD+W work?

PW
Comment 2 Sascha Kiedrowski CLA 2010-04-14 08:03:58 EDT
(In reply to comment #1)
> Does ALT+CMD+W work?
> 
> PW

Ahh sorry, yes, it does (as indicated within the popup menu). My fault!

I initially found the problem with CTRL+ALT+S (Synchronize SVN using subversive). Then I was trying to find another case which does not depend on a plug in. At that point I mistakenly took CTRL+ALT+W instead of ALT+CMD+W.


However, the problem exists for CTRL+ALT+S ... Eclipse just does not do anything besides selecting the next resource starting with "s".
Comment 3 Paul Webster CLA 2010-04-14 08:09:29 EDT
Hi,

If you turn on tracing [1] then you can see what eclipse thinks it is doing when you use CTRL+ALT+S.  That will tell you if it can't find a command for the keybinding, or can't find a handler for the command.  Also, check out your log at <workspace>/.metadata/.log  are there any mentions of key conflicts?

[1] http://wiki.eclipse.org/Platform_Command_Framework#Tracing_Option

PW
Comment 4 Sascha Kiedrowski CLA 2010-04-14 08:34:20 EDT
Created attachment 164823 [details]
debug log, see comment #4
Comment 5 Sascha Kiedrowski CLA 2010-04-14 08:36:53 EDT
Hi Paul,

.log does not contain helpful information.

debug.log is attached

debug.options used are:
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.jdt.ui.navigate.open.type
org.eclipse.ui/trace/handlers.verbose.commandId=org.eclipse.team.svn.ui.command.SynchronizeCommand
org.eclipse.ui/trace/contexts=true
org.eclipse.ui/trace/contexts.verbose=true


Every time I press CTRL-ALT-S the following lines are created:

SOURCES >>> 	WSP:lastActiveShell: Shell {Java - CoMPAS.ERP/test/unit/com/werum/erp/rps/compas/components/purorder/PurOrderReplacementOrderCreatorCmdImplTest.java - Eclipse SDK}
SOURCES >>> 	WSP:lastActiveWorkbenchWindowShellShell {Java - CoMPAS.ERP/test/unit/com/werum/erp/rps/compas/components/purorder/PurOrderReplacementOrderCreatorCmdImplTest.java - Eclipse SDK}
SOURCES >>> Action sets changed to [Task Context, Java Element Creation, Task Navigation, Coverage , Annotation Navigation, Editor Presentation, Java Editor Presentation, Java Coding, Open Files, JUnit, Java Debug, Launch, Search, Java Navigation, Breakpoints, Java Search, JCoffee Component Generator Actions, Java Open Actions, Feedback Helpers, Tasks Help, Keyboard Shortcuts, Cheat Sheets, External Tools, Convert Line Delimiters, Debug, Resource Navigation, Editor Navigation]
EVALUATION >>> start source changed: [activeActionSets]
EVALUATION >>> end source changed: [activeActionSets]
SOURCES >>> WSP: passOnEvent: Tree {}
SOURCES >>> WSP: passOnEvent: Composite {}
SOURCES >>> WSP: passOnEvent: Composite {}
SOURCES >>> WSP: passOnEvent: Composite {}
SOURCES >>> WSP: passOnEvent: Composite {}
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x0, keyCode = 0x40000, time = 23986886, character = 0x0)
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x40000, keyCode = 0x10000, time = 23986894, character = 0x0)
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x50000, keyCode = 0x73, time = 23987238, character = 0x13)
KEYS >>> WorkbenchKeyboard.press(potentialKeyStrokes = [ALT+CTRL+S])
KEYS >>> WorkbenchKeyboard.executeCommand(commandId = 'org.eclipse.team.svn.ui.command.SynchronizeCommand', parameters = {})
KEYS >>>     not handled
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x0, keyCode = 0x400000, time = 23987790, character = 0x0)
SOURCES >>> Action sets changed to []
EVALUATION >>> start source changed: [activeActionSets]
EVALUATION >>> end source changed: [activeActionSets]


It seems it is "not handled"... but why?
Comment 6 Paul Webster CLA 2010-04-14 08:52:49 EDT
Usually with this line:
org.eclipse.ui/trace/handlers.verbose.commandId=org.eclipse.team.svn.ui.command.SynchronizeCommand

You should see some lines similar to the lines below for that command.

HANDLERS >>> Command('org.eclipse.team.cvs.ui.commit') has changed to 'ActionDelegateHandlerProxy(org.eclipse.team.internal.ccvs.ui.actions.CommitAction@1212883,org.eclipse.team.internal.ccvs.ui.actions.CommitAction)' as its handler
HANDLERS >>> Command('org.eclipse.team.cvs.ui.commit') has changed to no handler


I don't see those in your log.

PW
Comment 7 Rainer CLA 2010-06-01 02:43:40 EDT
Same problem here, Mac OS 10.6.3, Eclipse 3.6M7 (eclipse.buildId=I20100520-1744) Cocoa 64,   Subversive SVN Team Provider (Incubation)	0.7.9.I20100512-1900	org.eclipse.team.svn.feature.group.

When I select a file in Package Explorer and hit Ctrl-Alt-C (for commit) it simply jumps to the next item starting with a "c". It seems as if it ignores the Ctrl-Alt part alltogether.
Comment 8 Paul Webster CLA 2010-06-01 08:05:53 EDT
(In reply to comment #7)
> Same problem here, Mac OS 10.6.3, Eclipse 3.6M7
> (eclipse.buildId=I20100520-1744) Cocoa 64,   Subversive SVN Team Provider
> (Incubation)    0.7.9.I20100512-1900    org.eclipse.team.svn.feature.group.
> 

Can you run the tracing with information similar to comment #5 ? We're looking for lines that detail if the sync command is handled or not.

PW
Comment 9 Rainer CLA 2010-06-02 06:13:51 EDT
For Ctrl-Alt-C:

EVALUATION >>> start source changed: [activeActionSets]
EVALUATION >>> end source changed: [activeActionSets]
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x0, keyCode = 0x40000, time = 130444231, character = 0x0)
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x40000, keyCode = 0x10000, time = 130444239, character = 0x0)
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x50000, keyCode = 0x63, time = 130444855, character = 0x3)
KEYS >>> WorkbenchKeyboard.press(potentialKeyStrokes = [ALT+CTRL+C])
KEYS >>> WorkbenchKeyboard.executeCommand(commandId = 'org.eclipse.team.svn.ui.command.CommitCommand', parameters = {})
KEYS >>>     not handled



for CTrl-Alt-S:

EVALUATION >>> start source changed: [activeActionSets]
EVALUATION >>> end source changed: [activeActionSets]
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x0, keyCode = 0x40000, time = 130511399, character = 0x0)
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x40000, keyCode = 0x10000, time = 130511423, character = 0x0)
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x50000, keyCode = 0x73, time = 130512743, character = 0x13)
KEYS >>> WorkbenchKeyboard.press(potentialKeyStrokes = [ALT+CTRL+S])
KEYS >>> WorkbenchKeyboard.executeCommand(commandId = 'org.eclipse.team.svn.ui.command.SynchronizeCommand', parameters = {})
KEYS >>>     not handled
SOURCES >>> Selection changed to [org.eclipse.ui.internal.WorkingSet@9ce82810]


I guess Subversive is not handling those commands properly?
Comment 10 Paul Webster CLA 2010-06-02 07:52:10 EDT
(In reply to comment #9)

> 
> I guess Subversive is not handling those commands properly?

That would be my guess.  What you need to do is to set the property: 
org.eclipse.ui/trace/handlers.verbose.commandId

to one of the commands in question.  In your log, we need to see what is setting the handler for one of the failing cases.

For example, they might depend on an objectContribution to provide a handler for that command ... that no longer works in 3.6.

PW
Comment 11 Rainer CLA 2010-06-02 08:47:51 EDT
Created attachment 170788 [details]
complete log file for key not handled problem

here is the logfile, I have the following debug.options file

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.jdt.ui.navigate.open.type
org.eclipse.ui/trace/contexts=true
org.eclipse.ui/trace/contexts.verbose=true
org.eclipse.ui/trace/handlers.verbose.commandId=org.eclipse.team.svn.ui.command.SynchronizeCommand
org.eclipse.ui/trace/handlers.verbose.commandId=org.eclipse.team.svn.ui.command.CommitCommand


The log file for launching, clicking CTRL-ALT-C is attached
Comment 12 Rainer CLA 2010-06-02 08:48:21 EDT
Comment on attachment 170788 [details]
complete log file for key not handled problem

changed mime type to text/plain
Comment 13 Paul Webster CLA 2010-06-02 08:51:58 EDT
(In reply to comment #11)
> org.eclipse.ui/trace/handlers.verbose.commandId=org.eclipse.jdt.ui.navigate.open.type

This will provide information about the wrong command.  You want to put in the ID of the command you care about.

PW
Comment 14 Paul Webster CLA 2010-06-02 08:53:00 EDT
Sorry, I looked further.  You want to include only one command ID in your debug.options (it's a property and can only be set once).

PW
Comment 15 Rainer CLA 2010-06-02 09:07:26 EDT
Created attachment 170791 [details]
new logfile with patched debug.options

ok, here is a new logfile, this time with the following settings:

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/contexts=true
org.eclipse.ui/trace/contexts.verbose=true
#org.eclipse.ui/trace/handlers.verbose.commandId=org.eclipse.team.svn.ui.command.SynchronizeCommand
org.eclipse.ui/trace/handlers.verbose.commandId=org.eclipse.team.svn.ui.command.CommitCommand
Comment 16 Paul Webster CLA 2010-06-02 09:16:40 EDT
(In reply to comment #15)
> 
> ok, here is a new logfile, this time with the following settings:


Thanx Rainer.  this is probably the SVN equivalent of bug 306173

If these commands depended on objectContribution support, the following section of the 3.6 migration guide applies:

"Object Contributions will not execute from a key binding

What is affected: Key bindings assigned to a command backed by an object contribution action.

Description: A fundamental flaw in the legacy action/command bridge was fixed in the 3.6 release. While command definitionIds have been allowed on objectContributions so they can display key bindings while the context menu is up, objectContributions do not support execution using key bindings and objectContributions cannot be handlers for commands. In 3.4 a leak was introduced that allowed some IResource based objectContributions to execute from a key binding. With this leak now fixed, plug-ins that wish to provide default behaviour for a key binding for their command must provide a handler. This does not affect ActionSets, which will continue to work with key bindings when active within a perspective.
An example of writing a core expression that's similar to an objectContribution can be found at IFile objectContribution Example."


PW
Comment 17 Igor Burilo CLA 2010-06-18 11:16:15 EDT
*** Bug 316753 has been marked as a duplicate of this bug. ***
Comment 18 Paul Webster CLA 2010-06-29 17:33:40 EDT
*** Bug 318382 has been marked as a duplicate of this bug. ***
Comment 19 David M. Karr CLA 2010-06-30 12:59:23 EDT
Just so it's recorded here, I had posted a question on the forum about this (http://www.eclipse.org/forums/index.php?t=msg&th=170987&start=0&), and someone pointed out a workaround that is working for me, in both Galileo and Helios.  It's just enabling the SVN command group in the perspective.
Comment 20 Daniel Hirscher CLA 2010-07-02 06:34:41 EDT
I have exerienced the same problem on Linux and Windows. Maybe the Platform should be changed to "All".

Checking "Team" and "SVN" (Workaround from Comment 19) in the "Customize Perspective" dialog works for me.
However I would expect:
a) that the accelerators are NOT shown when it is NOT checked
or
b) that the command group is checked by default
Comment 21 Paul Webster CLA 2010-07-02 13:26:10 EDT
(In reply to comment #20)
> I have exerienced the same problem on Linux and Windows. Maybe the Platform
> should be changed to "All".
> 
> Checking "Team" and "SVN" (Workaround from Comment 19) in the "Customize
> Perspective" dialog works for me.
> However I would expect:
> a) that the accelerators are NOT shown when it is NOT checked

Showing the keybindings on objectContributions is the original feature that was requested.

> b) that the command group is checked by default

That's probably OK in the originating perspectives (Team Sync, CVS Exploring, or the SVN perspective) but it still won't work outside them (as in the Java perspective).

The fix is to provide appropriate handlers for those commands that are active if the selection meets the appropriate criteria.

PW
Comment 22 Endre Stølsvik CLA 2010-08-11 09:43:54 EDT
[a "me too"-comment!] Just got bitten by this problem after upgrading to Helios. Very annoying. As comment #19 and comment #20 points out, rightclicking on the Java perspective, choosing top menu item "Customize..." and then in dialog select tab "Command Groups Availability" and then checking box by "SVN" fixes the problem.

However, as Daniel in comment #20 also points out, I would both expect the shortcuts to not show, or preferably be grayed out, when the Command Group box thing is not checked, AND the default to be checked! As it stands, every single Helios-upgrader that are used to Subversion in Eclipse will be puzzled as to why their beloved Upgrade-shortcut doesn't work.
Comment 23 Paul Webster CLA 2010-08-18 09:28:32 EDT
*** Bug 321208 has been marked as a duplicate of this bug. ***
Comment 24 Q.S. Wang CLA 2010-08-22 19:47:28 EDT
*** Bug 320177 has been marked as a duplicate of this bug. ***
Comment 25 Paul Webster CLA 2010-09-16 14:29:29 EDT
*** Bug 325509 has been marked as a duplicate of this bug. ***
Comment 26 Jörg Thönnes CLA 2010-09-27 07:21:46 EDT
Now as the Team bug

Bug 316875[backport] Commit, Apply Patch and Synchronize no longer take keybindings

is fixed and part of the released Eclipse 3.6.1 I wonder whether this will be also corrected for Subversive.
Comment 27 Technos CLA 2010-10-08 00:57:04 EDT
Without using comment 19's workaround, key-binding for subversive is still not working on Windows XP Sp3 with latest Helios Sp1.
Comment 28 Qiangsheng Wang CLA 2010-10-10 21:21:36 EDT
Created attachment 180570 [details]
Patch against eclipse helios

Will subversive release a patch version for 3.6.1? 

Attached a patch against 0.7.9.I20100512-1900 tag, which is similar as the patch of bug 316875.
Comment 29 Jörg Thönnes CLA 2010-10-12 07:44:37 EDT
(In reply to comment #28)
> Created an attachment (id=180570)
> Patch against eclipse helios
> 
> Will subversive release a patch version for 3.6.1?
> 
> Attached a patch against 0.7.9.I20100512-1900 tag, which is similar as the patch
> of bug 316875.

Thanks for the patch. I guess Igor will apply it to the Subversive repo.
Comment 30 Qiangsheng Wang CLA 2010-10-13 03:49:06 EDT
(In reply to comment #29)
> (In reply to comment #28)
> > Created an attachment (id=180570) [details]
> > Patch against eclipse helios
> > 
> > Will subversive release a patch version for 3.6.1?
> > 
> > Attached a patch against 0.7.9.I20100512-1900 tag, which is similar as the patch
> > of bug 316875.
> 
> Thanks for the patch. I guess Igor will apply it to the Subversive repo.

That's great! Will you provide a release after then?
Comment 31 Jörg Thönnes CLA 2010-10-13 05:45:55 EDT
(In reply to comment #30)
> (In reply to comment #29)
> > (In reply to comment #28)
> > > Created an attachment (id=180570) [details] [details]
> > > Patch against eclipse helios
> > > 
> > > Will subversive release a patch version for 3.6.1?
> > > 
> > > Attached a patch against 0.7.9.I20100512-1900 tag, which is similar as the patch
> > > of bug 316875.
> > 
> > Thanks for the patch. I guess Igor will apply it to the Subversive repo.
> 
> That's great! Will you provide a release after then?

Sorry for the confusion. My comment was a bit unclear:

I am NOT part of the Subversive team and do not have any commit rights.
I just wanted to express my hope that Igor Burilo, one of the developers of Subversive will pick up your contribution and apply it.

Cheers, Jörg
Comment 32 Ari Meyer CLA 2011-05-09 01:27:39 EDT
Is anyone addressing this?  It's still a problem with 3.6.2.
Comment 33 amaclean CLA 2011-05-11 11:22:08 EDT
We're also seeing this issue in 3.6.2. We would would be very interested in a fix if one became available,

Cheers,
Alasdair
Comment 34 George CLA 2011-05-16 13:19:08 EDT
Here's that WORKAROUND, spelled out:

To get your keyboard shortcuts working for Subclipse (or Team/CVS) in Helios 3.6, do the following:

Menu Window / Customize Perspective... / Command Groups Availability tab:
check the box for SVN (and Team).  

You're done--- for the current perspective.  Enter other perspectives and repeat, as desired.
Comment 35 Oded Arbel CLA 2011-05-17 05:37:05 EDT
(In reply to comment #34)
> Here's that WORKAROUND, spelled out:
> Menu Window / Customize Perspective... / Command Groups Availability tab:
> check the box for SVN (and Team).  

Please also note that this will add the SVN commands toolbar to your (probably already crowded) toolbar list, so you may want to also make sure to uncheck the SVN toolbar from the toolbars tab.
Comment 36 Kevin Kowalewski CLA 2012-01-31 19:27:50 EST
This bug is confirmed for me and so is the work around from George. Thank you very much George, you made my day!

Kevin
Comment 37 Jörg Thönnes CLA 2012-02-07 10:19:26 EST
Hello Alexander, I guess this could be an easy fix?
Comment 38 Alexander Gurov CLA 2012-02-20 09:59:25 EST
*** Bug 317758 has been marked as a duplicate of this bug. ***
Comment 39 Alexander Gurov CLA 2012-02-20 10:23:59 EST
*** Bug 326558 has been marked as a duplicate of this bug. ***
Comment 40 Alexander Gurov CLA 2012-02-20 10:28:01 EST
Hello Jörg, 

thank you for informing me of this one, also there were two more reports about the same matter. I've made a quick fix for the issue (which will be included into the next build), but it seems there is more to it. So, for now I won't close the report since it needs more work on my side.
Comment 41 Alexander Gurov CLA 2012-02-20 10:30:55 EST
Most likely related to this one too: bug #347582
Comment 42 Jörg Thönnes CLA 2012-02-22 07:15:47 EST
Hello Alexander,

thanks for taking care of that. When will be the next weekly build due?

Cheers, Jörg
Comment 43 Alexander Gurov CLA 2012-02-22 11:19:04 EST
The next early access build will be available approximately in a month, since I just have published one in a previous week and there is a lot to do for the next one.
Comment 44 Jörg Thönnes CLA 2012-02-22 15:39:07 EST
Thanks, that is fine. I already installed the latest EA build.

Will check the download area in a month or so.
Comment 45 Mauro Molinari CLA 2012-10-26 15:07:09 EDT
Hi Alexander,
any news on this? Hot keys do not work yet in my Eclipse 4.2.1+Subversive 1.0.0.I20121013-1700.
Comment 46 Alexander Gurov CLA 2014-11-22 16:09:56 EST
The shortcuts most likely fail due to platform specifics (for example, Ctrl+Alt+L, Ctrl+Alt+T and Ctrl+Alt+S won't work on Ubuntu with Unity, since it is defined globally to lock the current session etc.). So, I'll provide a platform-specific schemas (starting with Ubuntu's one) where such key combos are prefixed with SHIFT. If there are issues with some combos on other platforms, please feel free to tell me, I'll make a specific schemas. If there is a conflict with a manually assigned global hot key, then please change either one: global hot key or Subversive's one.

There is also an issue of bug 439499, which I'm not sure is solved properly or not. So, please feel free to share your opinion.