commit - 1f9436b4527e40695ba3334a40f72ee9a4b16e6d
commit + 705b4cc7a064e5494d141c97021b93bc9399a1a5
blob - /dev/null
blob + 81411b3d24a28fb51dc985c7e768245f3dd4c4e0 (mode 644)
--- /dev/null
+++ README.txt
+Got IntelliJ VCS Integration for Game of Trees
+
+Native version control support for Game of Trees https://gameoftrees.org/ (got)
+in IntelliJ-based IDEs: the same file status, diff, commit, history, and
+update/push workflow you get with Git, backed by the got CLI.
+
+Features
+--------
+
+ Detects .got/ work trees as a got VCS root automatically
+ File status in the Commit tool window (got status)
+ Native diff and modified-lines gutter (got cat against the base commit)
+ Commit and rollback from the Commit tool window (got commit, got revert)
+ A Commit and Send button next to the default Commit action: commits and
+ opens the native Push dialog in one step
+ A Log tab with the full commit graph, refs (branches/remote
+ branches/tags), and per-commit changed files
+ File history (got log) and Update Project (got update / got fetch)
+ Clone repositories over ssh:// from the native Clone Repository dialog
+ (Got in the Version control dropdown)
+ Current branch name shown in the status bar, and the native Push dialog
+ (Ctrl+Shift+K) with real outgoing-commit detection for got send
+ Automatic refresh of the Commit panel and Log tab after commit, push,
+ or update including changes made outside the IDE (e.g. got commit
+ in a terminal)
+ A Settings panel (Settings > Version Control > got) to override the got
+ binary path and SSH_AUTH_SOCK, for setups where auto-detection doesnt
+ apply
+
+How it works
+------------
+
+Theres no daemon and no cached repository model: every action shells out
+to the got binary for the relevant work tree and adapts its output to the
+corresponding IntelliJ Platform VCS API.
+
+IntelliJ feature got command
+
+VCS root detection presence of a .got/ directory
+File status got status
+Diff / gutter got cat -c :base
+Commit got commit -m <message> <paths>
+Rollback got revert -R <paths>
+Commit and Send got commit, then opens the Push dialog
+Log tab got log -b, got cat, got ref -l
+History got log
+Update Project got fetch + got update
+Branch widget got info (work tree branch reference)
+Push got send
+Outgoing commits got ref -l + got log -x against the remote
+Clone got clone (bare repo) + got checkout (work tree)
+
+Source is organized by responsibility under dev.nezzontli.gotvcs:
+
+ cli the single wrapper around got invocations (GotCommandLineWrapper)
+ changes, checkin, history, update, roots one package per VCS
+ extension point implemented
+ repo the Repository model and the branch-name status bar widget
+ push native Push dialog support (PushSupport and friends),
+ including outgoing-commit detection
+ checkout the Got entry in the Clone Repository dialog (CheckoutProvider)
+ log the Log tab (VcsLogProvider) and the refresh notifier that
+ keeps it and the Commit panel up to date
+ settings the persisted configuration and its Settings panel
+
+Requirements
+------------
+
+ IntelliJ IDEA (or another IntelliJ Platform IDE) 2026.1 or newer
+ The got binary, either on PATH or configured under Settings > Version
+ Control > got
+
+Building
+--------
+
+ ./gradlew buildPlugin
+
+The resulting ZIP is written to build/distributions/ and can be installed
+via Settings > Plugins > > Install Plugin from Disk.
+
+By default, this downloads a matching IntelliJ IDEA build to compile
+against. To use a local installation instead (faster, no download), set in
+~/.gradle/gradle.properties (not part of this repo):
+
+ ideLocalPath=/path/to/your/IntelliJ/installation
+
+Contributing
+------------
+
+Issues and pull requests are welcome. Before submitting a change:
+
+ ./gradlew buildPlugin verifyPlugin
+
+verifyPlugin checks compatibility against the IDE versions declared by
+sinceBuild in build.gradle.kts and flags deprecated API usage.
+
+Releasing
+---------
+
+Pushing a v* tag triggers .github/workflows/release.yml, which builds,
+verifies, creates a GitHub Release with the plugin ZIP attached, and
+once a PUBLISH_TOKEN secret is configured publishes to the JetBrains
+Marketplace.
+
+License
+-------
+
+GPLv3 LICENSE.