l0ng-ai fc938ac567 fix(vcs): update, push, rebase, tags and file history behave as expected (#1708)
Update Project
- The update summary and View Commits cover only the incoming commits
  (merge base with the tracked branch before and after), not rebased local
  commits or the merge commit.
- An update that stops on conflicts opens the Conflicts dialog instead of an
  error balloon.
- The Update dialog remembers the chosen method, has "Don't show again", and
  "Reset to the Remote Branch" (fetch, drop local commits, keep local changes).

Push
- A rejected push asks Merge / Rebase (Rebase Anyway with unpushed merges) with
  "remember and update silently", updates every repository and pushes again,
  up to ten times, without an error balloon first.
- A tag that already exists, a hook or server refusal is not treated as a
  non-fast-forward rejection; a stale force-with-lease offers "Force push anyway".
- Run Git hooks (--no-verify) when a pre-push hook exists; Set upstream also when
  pushing to another branch name; multi-repository push continues past failures.
- Tags: Push to <remote> and Delete (Restore, Delete on Remote).

Rebase
- Reword in an interactive rebase keeps message lines starting with '#'.
- Continue stages edits of files already staged; other unstaged changes report
  a clear error with Stage and Retry, Show Files and Abort.
- A stopped rebase or merge offers Abort in its error balloon; resolving the
  last conflict from the Conflicts dialog continues by itself.
- Branch menu rebase/merge use the full branch ref when a tag has the same name.
- Files keep their changelists while local changes are set aside.

File history follows renames done in merges and history merged from other
branches, and names the path of each revision.
2026-11-06 12:49:39 +08:00
2026-10-22 18:55:10 +08:00
2026-10-22 18:55:10 +08:00
2026-10-22 18:55:10 +08:00

OpenIDEA

The IDE you know, rebuilt in Rust.

Download  ·  Benchmark  ·  Plugins  ·  Community

https://github.com/user-attachments/assets/234dd54c-1255-4b3a-b35c-533d78d737c0

OpenIDEA brings the IntelliJ IDEA way of working — its keymap, its tool windows, its search-everything habits — to a native app with a Rust core.

Editor, code insight, debugger, Git, terminal, database and HTTP clients, for 60+ languages. Builds for macOS, Windows and Linux.

Benchmark

Opening freqtrade (Python, ~770 files) with warm caches, median of 5 runs:

OpenIDEA IntelliJ IDEA 2026.2.3
Window with the project 0.9 s 3.1 s
Ready (CPU settled) 1.1 s 13.2 s
Memory (USS, all processes) 169 MB 2011 MB
CPU time until ready 2.4 s 47.9 s
Idle CPU 4 % of a core 7 % of a core
Quit 0.3 s 5.9 s

A release build of OpenIDEA from main and IDEA with default settings and plugins, on Windows 11, 32-core AMD, 62 GB RAM. IDEA analyses Python more deeply, so "ready" doesn't mean the same work on both sides. Both are measured from the outside, the same way: see perf/compare to run it on your machine and projects.

Plugins

Plugins add actions, completion, quick fixes, tool windows, custom editors, themes, file icons and languages. They run as sandboxed WebAssembly components; themes, icon themes and languages need no code at all.

Install them from Settings › Plugins, or start your own with openidea-plugin new — see Writing OpenIDEA plugins and the official plugins. The plugin API is still a preview.

Community

  • Discord — questions, feedback and release news.

  • WeChat group — scan to join:

    WeChat group QR code

License

Apache 2.0. Bundled third-party assets are listed in THIRD_PARTY_LICENSES.md.

Database tool window notes, including Oracle Instant Client setup, are in docs/databases.md.

Not affiliated with JetBrains. IntelliJ IDEA is a trademark of JetBrains s.r.o.

Мови
TypeScript 54.7%
Rust 41.8%
CSS 2.1%
Python 0.5%
Java 0.4%
Інші 0.3%