Commit Diff


commit - 1f9436b4527e40695ba3334a40f72ee9a4b16e6d
commit + 705b4cc7a064e5494d141c97021b93bc9399a1a5
blob - /dev/null
blob + 81411b3d24a28fb51dc985c7e768245f3dd4c4e0 (mode 644)
--- /dev/null
+++ README.txt
@@ -0,0 +1,108 @@
+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.