Commit Briefs


1f9436b452 ale

Add .got-backup/ to .gitignore


f5a98fd61e ale

Actualizar README, descripción del plugin y changeNotes para 0.2.1 (tags/v0.2.1)

Documenta el soporte de clone agregado (README, plugin.xml) y sube la versión a 0.2.1.


5fbd71374a ale

Resolver GOT_AUTHOR automáticamente desde git config si el repo no lo define

got.conf de un repo recién clonado solo trae el remote, no un author, así que got commit fallaba con "GOT_AUTHOR environment variable is not set" en cualquier repo clonado sin configuración manual previa. Ahora se resuelve user.name/user.email vía git config como fallback -- got.conf y la config local del repo siguen ganando por precedencia, así que esto nunca pisa un author explícito. Confirmado en vivo contra un repo real.


d0d47588e6 ale

Agregar soporte para clonar repos got por SSH desde el diálogo nativo de IntelliJ

Registra "Got" en el dropdown "Version control" del diálogo Clone Repository (CheckoutProvider) con un panel propio de URL/Directory --no hereda de DvcsCloneDialogComponent porque esa clase de Git4Idea es @ApiStatus.Internal y rompe verifyPlugin. El clone corre en dos pasos (got clone crea el repo bare, got checkout puebla el work tree) a través de CloneableProjectsService, el mismo mecanismo que usa Git4Idea para que el proyecto clonado termine en Recent Projects. La URL solo acepta ssh://, que es el único protocolo que este plugin soporta para clonar.



ee44f00ccb ale

Limpiar comentarios narrativos y actualizar README/plugin.xml para 0.2.0 (tags/v0.2.0)

Recorta comentarios que narraban el proceso de investigacion (referencias a decompilar clases, bugs anteriores ya resueltos, etc.) dejando solo el 'por que' no obvio de cada decision. Actualiza el README, cambeLog y la descripcion del plugin.xml para reflejar las funciones agregadas en esta version: pestana Log, boton Commit and Send, deteccion real de commits salientes, got como VCS distribuido, y refresco automatico del panel de Commit y el Log tras commit/push/update o cambios externos.



17c566b35d ale

agregar un whatcher



Branches

Tags

Tree

.github/
.gitignorecommits | blame
.kotlin/
LICENSEcommits | blame
README.mdcommits | blame
README.txtcommits | blame
build.gradle.ktscommits | blame
flake.lockcommits | blame
flake.nixcommits | blame
gradle/
gradle.propertiescommits | blame
gradlew*commits | blame
gradlew.batcommits | blame
settings.gradle.ktscommits | blame
src/

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.