This is likely to happen during chain vcs operation (ex: git rebase),
causing annotations to load while IDE and VCS are out of sync.
Such annotations cannot be shown correctly, producing confusing error message:
"Number of lines annotated by vcs is not equal to number of lines in the file...".
follow-up: 72ec344b57
This method was moved into API from the GitResolveConflictsAction in 602e6fff, but was forgotten during the multiple files merge dialog rewrite in 37382e7.
In fact there is no need to update repositories after merging files: the state of the repository doesn't change, nothing gets committed, etc.
On the other hand, if merging happens during a rebase or other complex process, a commit does happen, but repositories are updated as a part of that process.
Alt+Shift+Backquote on Windows/Linux.
Ctrl+B on Mac: was assigned to "EditorLeft" in Emacs-style, but nobody actually uses it.
Emacs keymap has a duplicate definition for this action and shortcut, so it won't be affected.
There are 2 parsers:
* (cf)parse: supports syntax like {paramName:d} or custom types: {paramName:Foo}. Foo must be mapped to real type by behave and pytest-bdd using different approaches.
* re: supports regexp. By default types are strings, but pytest-bdd can match param names to certain types.
And there are 2 frameworks (each of them supports both parsers):
* behave
* pytest-bdd
Parsers are implemented as PyBDDParser inheritors (and called *processors for historical reasons) and by PyBDDMatcher instances.
Frameworks are implemented by PyStepDefinition inheritors.
PyStepDefinition's know to how to:
* fetch type-alias-to-type or argument-name-to-type mappings
* find step definition expression in decorator
Parsers know how to:
* convert step definition to python regexp
* get argument types using information from PyStepDefinition's
For synchronously controlled roots it makes sense to update the project as a whole, so previous behavior (total failure if one of roots is in detached HEAD state or have no tracked branch to update from) is kept for such projects.
However, it is common for non-synced projects (including projects with submodules) to have roots checked out on detached HEAD, such are now just skipped from update.
IDEA-124453, IDEA-193934