Commit Graph
201386 Commits
Author SHA1 Message Date
Tagir Valeev ca9fffa746 IDEA-178242 Extract Set from comparison chain: find duplicates within class 2017-08-30 14:29:54 +07:00
Kirill Likhodedov f8c753ff81 Don't detect renames: not needed to get the list of modified paths but can slow down 2017-08-29 22:45:51 +03:00
Kirill Likhodedov e3deb2f4fa Refresh only that part of the VFS that has been changed by Git operations
Refreshing the whole VFS is reliable but slow, especially in case of feature branches, when branches diverge just a little, and refreshing only a couple of files is required which is much faster.

On the other hand, collecting the difference between current working tree and the target reference is quick enough: even `git diff origin/143` takes ~1–2s.

A registry option is introduced to be able to turn the optimization off in case there is a report that not files were refreshed.

Following operations are optimized:
* reset (including "undo commit"): uses `git diff <revision>` which compares with working tree: working tree may change as the result of reset --hard.
* checkout and merge: use `git diff HEAD..<branch>`.
  Comparing with working tree is unnecessary ("local changes would be overwritten by checkout/merge" means that local changes are not touched by these operations).
  Merge should actually compare with the merge base (`git diff HEAD...<branch>`), but that's much slower, while refreshing several more files is not that slower.
* rebase can happen together with checkout (`git rebase master topic`), so at first it checks the diff between current branch and the branch which is to be checked out; and then it additionally checks the diff for the rebase itself (again, should be calculated with "..." for more precise results, but ".." is used because it is faster).

Note that the reason ".." can be used instead of "..." is because we don't care about the changes themselves and how accurate they are: we just need a superset of affected files.

Only trivial cases are covered: e.g. smart checkout, rollbacks, conflicts, continue rebase, etc. still perform full refresh for now, since they are relatively rare and a bit trickier).

This fixes IDEA-163043
2017-08-29 22:45:50 +03:00
Sergey Karashevich 640de02909 [gui-test] add check to the Create button action on a project configure 2017-08-29 22:34:28 +03:00
Kirill Likhodedov fa3ee57af9 Support 'Undo Commit' during rebase: IDEA-162756 2017-08-29 22:24:23 +03:00
Kirill Likhodedov dfa6a7263c Let reword the latest commit during rebase
Rebase during rebase is not possible, but the latest commit is reworded via amend, therefore can be allowed.
2017-08-29 22:24:23 +03:00
Vassiliy.Kudryashov fc79462629 IDEA-140099 Can't remove a single external tool 2017-08-29 22:06:16 +03:00
Dmitry Batkovich 8add3aa39c favorites: fix classloader when a bookmark node class is contained in some plugin (IDEA-147470, IDEA-149853) (fix default classloader) 2017-08-29 22:03:36 +03:00
Julia Beliaeva 0268c873fb [vcs-log] add NotNull annotation, remove final parameter modifier 2017-08-29 22:02:33 +03:00
Sergey Malenkov 1a3366db2e IDEA-178186 IllegalComponentStateException on switch to IDE
EA-102227 - ICSE: EditorImpl$MyInputMethodHandler.getTextLocation
2017-08-29 21:57:17 +03:00
fitermay 27ff928ed3 PY-25794, PY-25491: prevent PyImportElementImpl iterateNames from unstubbing files
(cherry picked from commit 4b85d35)
2017-08-29 21:39:05 +03:00
Andrey Vlasovskikh 5d6c451033 PY-25794 Test for stub->AST switch during PyImportElementImpl.iterateNames() 2017-08-29 21:39:05 +03:00
fitermay 767c92bcaa PY-25794: prevent PyProtectedMemberInspection from unnecessarily unstubbing superclasses
(cherry picked from commit 4720047)
2017-08-29 21:39:05 +03:00
fitermay faa9f8fcfb minor: break early. use loop label instead of boolean flag
(cherry picked from commit 2a01cad)
2017-08-29 21:39:05 +03:00
Andrey Vlasovskikh 5e20034a0a PY-25794 Test for stub->AST switch in PyProtectedMembersInspection 2017-08-29 21:39:05 +03:00
Andrey Vlasovskikh ed9732aa82 Added PyInspectionTestCase as base class for stub->AST checks 2017-08-29 21:39:05 +03:00
Anna Kozlova 01de4dfccb wording 2017-08-29 20:29:38 +03:00
Anna Kozlova 743f078f83 remove redundant throws from test templates 2017-08-29 20:29:37 +03:00
Anna Kozlova 0ea8d49f73 junit detection: test for constructor args 2017-08-29 20:29:37 +03:00
Dennis Ushakov b870b69879 recognize 'unset' values for editorconfig (IDEA-171720) 2017-08-29 20:00:05 +03:00
Dennis Ushakov b465193dab editorconfig should be first as it knows better (PY-21115, RUBY-17138, WEB-27516) 2017-08-29 20:00:05 +03:00
Julia Beliaeva 7784613b9d [file-history] get rid of cell wrapper in DualView 2017-08-29 19:46:27 +03:00
Julia Beliaeva 1d101a9be1 [file-history] highlight current revision
IDEA-171358
2017-08-29 19:46:27 +03:00
Sergey Simonchik 0f61f0be42 mark NodeJS 173.* as broken 2017-08-29 19:44:08 +03:00
Roman Shevchenko f59cc8246c [platform] fault-tolerant bindings initialization 2017-08-29 19:14:37 +03:00
Dmitry Batkovich 11ba5dbd40 favorites: fix classloader when a bookmark node class is contained in some plugin (IDEA-147470, IDEA-149853) 2017-08-29 18:49:32 +03:00
Mikhail Golubev f69a58abcd IDEA-163490 Force the use of https in connections to PivotalTracker
Old Apache HttpClient doesn't allow to enable following redirects
for HTTP requests containing entities. Instead I replace "http:"
with "https:" in server URLs of existing connectors so as not to make
their users re-configure everything or modify the address manually.
2017-08-29 18:25:21 +03:00
Kirill Likhodedov b681e943f3 Allow to reword/rebase in the detached HEAD state 2017-08-29 18:18:57 +03:00
Kirill Likhodedov 76c1f21f1e Make the comment more precise 2017-08-29 18:11:17 +03:00
Maxim.Mossienko 1185396f63 IDEA-177766 Properly find in comments inside javascript
Fix for special case that javascript is inside html and html is inside template language like php / jsp
2017-08-29 17:03:43 +02:00
Dmitry Batkovich f7dd4dfaa4 null argument checker: ignore parameters if method throws exception anyway (IDEA-177823) 2017-08-29 17:27:00 +03:00
Daniil Ovchinnikov 9430eaa658 make substitutor @NotNull in CreateFieldFromUsageHelper#setupTemplateImpl 2017-08-29 17:01:46 +03:00
Daniil Ovchinnikov 32bde28376 fix nullability warnings in CreateFromUsageBaseFix#getTargetSubstitutor 2017-08-29 17:01:46 +03:00
Dmitry.Krasilschikov 402bd30012 let ScopeOptimizer use restricted scope instead of scope to exclude 2017-08-29 16:55:00 +03:00
Dmitry Batrak 25d48f3e57 avoid unnecessary text layout cache resets on scrolling 2017-08-29 16:40:29 +03:00
Anna Kozlova 31cdb5f7fd junit class detection in classpath: accept any @RunWith class
repeat builder order of junit
2017-08-29 16:21:03 +03:00
Anna Kozlova d01a145417 unused library: don't check runtime dependencies (IDEA-178133ˆ) 2017-08-29 16:21:03 +03:00
Anna Kozlova 7f29026b10 logging for EA-106371 - SIOOBE: Class.getSimpleBinaryName 2017-08-29 16:21:03 +03:00
Alexey Kudravtsev 95eaf81e0e check for JDK leaks in tests 2017-08-29 16:06:35 +03:00
Alexey Kudravtsev 6a90211cef cleanup 2017-08-29 16:06:35 +03:00
Alexey Kudravtsev 65577c1125 NPE in tests 2017-08-29 16:06:35 +03:00
Alexey Kudravtsev 9ed6fc54e7 avoid nonsensical clear() 2017-08-29 16:06:35 +03:00
Michael Golubev 3871840fc6 IDEA-177963 - Servers combo: Switch to <Auto-Detected> on last removal
- refillModel should not try to restore previous selection
- refillModel should notify listeners to start detection routine
2017-08-29 14:59:52 +02:00
Dmitry Batrak 7ec0589c35 IDEA-177449 Error popup hint obstructs the view 2017-08-29 14:44:42 +03:00
Rustam Vishnyakov 7fdbcb0f64 Project code style setting migration notification 2017-08-29 13:49:54 +03:00
Tagir Valeev d3e36561f4 IDEA-174813 Intention to replace multiple enum comparisons with EnumSet.contains()
ExtractSetFromComparisonChainAction enhanced to support enums and support == comparisons
2017-08-29 17:40:32 +07:00
Roman Shevchenko eaad1a902d Cleanup (warnings) 2017-08-29 12:48:13 +03:00
Yaroslav Pankratyev 9cf30f255c Merge remote-tracking branch 'origin/master' 2017-08-29 16:32:42 +07:00
Dennis Ushakov 6293dccc2b recognize 'none' values for editorconfig (WEB-18555) 2017-08-29 12:27:57 +03:00
Dennis Ushakov a609372444 don't fail on broken regex (WEB-27269) 2017-08-29 12:27:57 +03:00