commit 513258b76f2bcdaf8deeca03c0f1745660bd13b4 from: ale date: Thu Jul 23 21:24:36 2026 UTC Corrige duplicados en Show History (segunda causa): doble append Confirmado con 'got log flake.lock' en terminal: got devuelve cada commit una sola vez, así que la duplicación era enteramente nuestra. El fix anterior seguía duplicando porque llamaba TANTO session.appendRevision(revision) COMO partner.acceptRevision(revision) para la misma revisión -- partner.acceptRevision() ya actualiza esa misma sesión (la que se le pasó a reportCreatedEmptySession) por su cuenta, así que ambas llamadas terminaban agregando la revisión dos veces a la misma lista. Se quita el appendRevision manual; solo partner.acceptRevision() por entrada. commit - ef703742ea3a2738787bec65d589b4cc7390a124 commit + 513258b76f2bcdaf8deeca03c0f1745660bd13b4 blob - efda632ef746348220b4a1a99a564e390dfff8f4 blob + e6572e0008c33ec6c557a72a89cce41f06cdb511 --- src/main/kotlin/dev/nezzontli/gotvcs/GotVcsHistoryProvider.kt +++ src/main/kotlin/dev/nezzontli/gotvcs/GotVcsHistoryProvider.kt @@ -76,18 +76,18 @@ class GotVcsHistoryProvider( val baseRevision = GotRevisionNumber(commandLine.baseCommit(workDir)) // reportCreatedEmptySession espera una sesión REALMENTE vacía: el - // panel de "Show History" usa este camino (no createSessionFor), - // y pasarle una sesión ya poblada + acceptRevision() por cada - // entrada duplicaba cada commit (confirmado en vivo: cada fila - // aparecía dos veces). + // panel de "Show History" usa este camino (no createSessionFor). + // partner.acceptRevision() ya actualiza esta misma sesión por su + // cuenta -- llamar además session.appendRevision() duplicaba cada + // commit (confirmado en vivo dos veces: primero por pasar una + // sesión ya poblada, y de nuevo acá por agregarlas por ambos + // caminos a la vez). val session = GotVcsHistorySession(emptyList(), baseRevision) partner.reportCreatedEmptySession(session) val entries = commandLine.log(workDir, relativePath.ifEmpty { null }) for (entry in entries) { - val revision = GotFileRevision(workDir, relativePath, commandLine, entry) - session.appendRevision(revision) - partner.acceptRevision(revision) + partner.acceptRevision(GotFileRevision(workDir, relativePath, commandLine, entry)) } } catch (e: VcsException) { partner.reportException(e)