Commit Graph
196750 Commits
Author SHA1 Message Date
Anna Kozlova 893f166226 log warning for invalid text e.g. with spaces 2017-06-05 14:34:18 +03:00
Anna Kozlova 377520ade5 intersection type validation fixed (IDEA-173900)
take type parameter bounds into account
2017-06-05 14:34:18 +03:00
Anna Kozlova 5e2ab00618 code reuse 2017-06-05 14:34:18 +03:00
Anna Kozlova 5b962a018f method return always constants (IDEA-173896)
ensure external derivatives are not ignored, do not report on derivatives - report on api method, don't visit same methods multiple times
2017-06-05 14:34:17 +03:00
Liana.Bakradze 92c3daa014 convert line separators in edu tests 2017-06-05 14:09:30 +03:00
Aleksey Pivovarov 90ab867bad ui: fix fonts in "Usages Detected" dialog under HiDPI Linux 2017-06-05 13:43:47 +03:00
Sergey Simonchik f236ad7234 semver: deprecate UNKNOWN as it's an invalid SemVer instance (use null for unknown semvers instead) 2017-06-05 13:06:38 +03:00
Egor.Ushakov 4de0110a00 show errors in a separate node in filtered arrays 2017-06-05 12:22:05 +03:00
Aleksey Pivovarov 1ffac15ddf vcs: fix "Preview Diff" state in Local Changes
* remove unnecessary inner state, that could differ from the real one
2017-06-05 12:17:29 +03:00
Aleksey Pivovarov e74959a991 IDEA-173906 shelve: highlight syntax in diff 2017-06-05 12:07:55 +03:00
Anna Kozlova 5d9e95ad5d introduce functional variable (IDEA-141244) 2017-06-05 11:27:43 +03:00
Anna Kozlova e1ae657059 ensure write action not taken for clear readonly status 2017-06-05 11:27:43 +03:00
Anna Kozlova fdda043526 disable make method default for annotation types 2017-06-05 11:27:42 +03:00
Alexey Ushakov fc8847672d Updating versions of project dependencies: jdkBuild->u152b915.1
Alexey Ushakov
2017-06-05 11:21:58 +03:00
Julia Beliaeva c1a0302b1b [file-history] avoid calling bfs when previous file name is the same in all parents 2017-06-05 00:02:06 +03:00
Julia Beliaeva 9a4acf4b73 [vcs-log] write case-only rename on case insensitive file systems to the log as modified
Since id for paths different in only in case is the same in case insensitive file systems, index should not treat case-only renames as renames.
2017-06-04 23:57:54 +03:00
Julia Beliaeva 9269c2eff4 [git] remove some unnecessary fields 2017-06-04 23:57:52 +03:00
Julia Beliaeva 8aa85637b1 [git] remove unnecessary Data class 2017-06-04 23:57:50 +03:00
Julia Beliaeva 0bbdb54bd4 [git] simplify code in GitCommit, resolve synchronization issues
Create two separate classes for changes: one keeps unparsed GitLogStatusInfo, the other one keeps Change after GitLogStatusInfo gets parsed.
2017-06-04 23:57:48 +03:00
Julia Beliaeva 395e779228 [git] fix git log -m problem with merges that do not have differences with some of their parents
Despite what is written in git log documentation, the command invoked with -m option does not always output one record for each merge parent. If contents of a merge commit is the same as one of its parents, it does not output anything for said parent. Identifying this parent just from git log output is impossible with custom pretty formatting. So the ugly solution of this problem goes like this: when number of collected records for a commit is inconsistent with the number of parents, execute another git log command to find tree hashes of this commit and its parents, and identify, which of them are the same.
2017-06-04 23:57:47 +03:00
Julia Beliaeva 176bb1b412 [file-history] even if file has no renames, still need to run refiner to skip trivial merges 2017-06-04 23:57:45 +03:00
Julia Beliaeva b026911e85 [file-history] provide travel direction for enterNode method to simplify code 2017-06-04 23:57:44 +03:00
Julia Beliaeva 61440fad6f [vcs-log] bump index version to force reindexing 2017-06-04 23:57:42 +03:00
Julia Beliaeva 1bb3a8f255 [file-history] simplify enterNode/exitNode code
Always push path to the stack, this way exitNode can just do pop without checking.
2017-06-04 23:57:40 +03:00
Julia Beliaeva 61a5de6e9f [file-history] stop exposing RowInfoImpl class 2017-06-04 23:57:39 +03:00
Julia Beliaeva 77d42f9796 [file-history] persist commit parents order in the index in order to make it work with git bek parent fixer
Since sometimes git log provider returns commits with reversed parents due to GitBekParentFixer existence, saving just a list of changes into index was insufficient.
Persistent map containing parents list for every commit was added.

GitBekParentFixer is required for the following situation: a user pulls commits from the remote with merge, and then pushes merged branch back. This creates incorrect order of parents for automatic merge commits (changes that were in the remote branch should go first and be displayed on the left). GitBekParentFixer finds such commits, filtering log by message, and reverses parent back for them. This is obviously a hack, but simpler and straighter solution is not yet developed.
2017-06-04 23:57:37 +03:00
Julia Beliaeva fb545fc23e [file-history] new file history algorithm that correctly traverses merge commits where there was a rename in one of the branches
Since now indexes know changed files from all of the parents in merge commits, this information could be utilized to correctly build file history and thus fix some of the issues with it.
Essentially dfs is employed, same as before. But now algorithm works in two passes.

In the first pass, file name in each commit is calculated while doing a dfs on the visible graph.
The trick here is that now for getting changes a commit and a parent index is required (and not just a commit, as before). But in the visible graph, a commit parent is not its real parent in git.
To get a real parent, path between two commits is obtained with bfs.

In the second pass, some commits that have unrelated changes or are trivial merges are thrown out. During this stage some related trivial merges can be thrown out. This is going to be fixed later.

IDEA-170468
2017-06-04 23:56:37 +03:00
Julia Beliaeva 5ae0edd42a [vcs-log] index parents for all of the moves 2017-06-04 23:56:36 +03:00
Julia Beliaeva 1d7d415097 [vcs-log] write paths changed in all of the parents for merge commits into index
Data for all of the parents is required for correct file history in case of file renamed in one of the branch. Also, since we are changing index format anyway, keep information which name was before and which was after for renames. This will help to simplify file history.
2017-06-04 23:56:34 +03:00
Julia Beliaeva 7115f3f160 [vcs-log] introduce VcsIndexableDetails that allow to get changes with all commit parents
Move getModifiedPaths and getRenamedPaths from VcsChangesLazilyParsedDetails to the new interface and add parent parameter. Add getChanges(parent) method. This require to keep changes with parents as well as merged changes for merge commits, since a lot of clients currently need merged changes.

Index temporary indexes changes with the first parent (that are incoming changes for merge commits).
2017-06-04 23:56:33 +03:00
Julia Beliaeva 1b7884e26f [vcs-log] changed and moved paths are mutually exclusive 2017-06-04 23:29:08 +03:00
Julia Beliaeva ad2309b009 [git] read both changes for merge commits
Changes with all parents are stored in GitCommit and combined changes are calculated there.
2017-06-04 23:29:06 +03:00
Bas Leijdekkers 7c03d01e5f IPP: intention should not be available when comment is already on a line of its own (IDEA-173813) 2017-06-04 21:36:09 +02:00
Elizaveta Shashkova e37cee317b Fix Debug console isn't working with IPython 6.1.0 (PY-24537)
Remove hard-coded names
2017-06-04 15:20:06 +03:00
Bas Leijdekkers 47876aaed3 IG: highlight constructor call problems too (IDEA-173852) 2017-06-04 13:11:41 +02:00
Bas Leijdekkers 674b80a1a2 IG: check array argument to format call correctly (IDEA-171421) 2017-06-04 12:32:12 +02:00
Bas Leijdekkers 324e0f1dd1 IG: highlight all argument problems, not just the first (IDEA-172286) 2017-06-04 12:32:12 +02:00
Bas Leijdekkers 72749bfab4 IG: report invalid argument to $#s in malformed format string (IDEA-157921) 2017-06-04 12:32:12 +02:00
Bas Leijdekkers 2c244ef193 IG: add a few more negative names 2017-06-04 12:32:12 +02:00
Bas Leijdekkers 92def29aad IG: fix NPE (EA-102248) 2017-06-04 12:32:12 +02:00
Bas Leijdekkers 412fcf093f IG: add test 2017-06-04 12:32:12 +02:00
Bas Leijdekkers 3b6b12bcfd SSR: rename method 2017-06-04 12:32:12 +02:00
Bas Leijdekkers d4f7b685fa SSR: merge Matcher and MatcherImpl 2017-06-04 12:32:11 +02:00
Bas Leijdekkers 01cf093e1f SSR: remove unnecessary method 2017-06-04 12:32:11 +02:00
Bas Leijdekkers 109e2ae4aa SSR: remove unnecessary methods from matching handlers 2017-06-04 12:32:11 +02:00
Bas Leijdekkers e66fb307c8 SSR: simplify match predicates, remove unused parameter 2017-06-04 12:32:11 +02:00
Bas Leijdekkers 96ded2bbb6 SSR: BinaryPredicate -> AndPredicate 2017-06-04 12:32:11 +02:00
Bas Leijdekkers 756ea5bcc6 SSR: split off matching handler hierarchy from predicates 2017-06-04 12:32:11 +02:00
Bas Leijdekkers 63c7f28fd1 SSR: cleanup 2017-06-04 12:32:11 +02:00
Bas Leijdekkers 19dc490e2d SSR: make reference predicate independent from substitution handler 2017-06-04 12:32:10 +02:00