Commit Graph

21 Commits

Author SHA1 Message Date
Mark IJbema 76f49645f6 Merge remote-tracking branch 'origin/main' into mark/upstream-compat-base 2026-05-07 16:12:34 +02:00
kiloconnect[bot] 70fde2221e refactor(upstream): improve compatibility commit lookup using semver
Update `findLatestCompatCommit` to use semantic versioning when identifying the latest compatibility commit. This ensures the correct commit is selected even when upstream tags diverge or are not strictly linear.

- Add semver parsing and comparison utilities
- Implement `targetSemver` to resolve versions from tags or commit messages
- Filter and sort compatibility candidates by version relative to the target version
- Add test case for diverging upstream tags
2026-05-06 14:34:13 +00:00
Mark IJbema ed9a538668 Merge branch 'main' into mark/upstream-compat-base 2026-05-06 11:41:39 +02:00
Mark IJbema ef45bedc33 Merge branch 'main' into session/agent_a6ecf426-6df9-4de2-832c-c3835090b68b 2026-05-06 10:25:08 +02:00
kiloconnect[bot] c239a6bb22 chore(config): enforce zdiff3 conflict style via postinstall
Add a new setup script to configure `merge.conflictStyle=zdiff3` locally
within the repository. This ensures that the common ancestor is visible
during merge conflicts, which is required for structural resolution by
`mergiraf` and simplifies manual conflict resolution.

The configuration is applied during `bun install` via the `postinstall`
hook and remains as a fallback for the upstream merge utilities.
2026-05-05 14:49:50 +00:00
kiloconnect[bot] 33aa8e5184 fix(cli): isolate upstream rerere training 2026-05-05 08:40:26 +00:00
kiloconnect[bot] 5c14ec2bed fix: preserve upstream ancestry on kilo merge 2026-05-05 08:10:36 +00:00
kiloconnect[bot] fe3724605f fix: resolve compat bases from version tags 2026-05-05 08:00:21 +00:00
kiloconnect[bot] 4b22bfbc57 fix: keep compat branches linear 2026-05-05 07:57:01 +00:00
kiloconnect[bot] 4b1c1930c2 fix: preserve upstream compat merge bases 2026-05-04 15:54:19 +00:00
kiloconnect[bot] 419ddea52a chore(upstream): implement compatibility base tracking for merges
Update the upstream merge script to identify and link to the previous compatibility commit. This ensures that pre-merge transformations maintain a proper commit history by using multiple parents when a prior compatibility base is found, rather than creating disconnected commits.

- Add `findLatestCompatCommit` to locate previous compatibility commits
- Implement `commitTree` and `updateBranch` for low-level git manipulation
- Update `merge.ts` to integrate compatibility base detection and multi-parent commits
2026-05-04 14:06:37 +00:00
Mark IJbema 80d848d3e3 feat(upstream): use zdiff3 conflict markers during upstream merge
Pass merge.conflictStyle=zdiff3 on the git merge invocation so every
conflicted file gets base-aware (|||||||) markers from the start, not
just the ones runMergiraf happens to touch. Benefits:

- Mergiraf always has a base section to work from, so its structural
  heuristics apply uniformly.
- Remaining manual conflicts show both sides relative to the common
  ancestor, which is dramatically easier to resolve than a 2-way marker.

Since the working tree already carries diff3 markers after the merge,
drop the per-file `git checkout --conflict=diff3` in runMergiraf.
2026-04-28 14:35:50 +02:00
Mark IJbema 38cc0297a8 feat(cli): show which upstream versions are already merged in list-versions
Uses 'git merge-base --is-ancestor' per tag (parallelized) to mark
upstream versions reachable from HEAD with a '✓ merged' annotation.
Kilo's own package version no longer tracks upstream, so semver
comparison isn't reliable; the ancestor check is the source of truth
and handles non-linear merge history correctly.
2026-04-28 11:46:43 +02:00
Imanol Maiztegui 8990d5d128 refactor(upstream): force-fetch tags when syncing from upstream remote
Append --tags --force flags to the git fetch upstream command so that
upstream tag references are always updated and locally diverged tags
are overwritten to match the remote state.
2026-04-24 14:06:27 +02:00
Catriel Müller 98f1716216 fix: cleanup lsf icons 2026-04-10 15:17:09 -03:00
Catriel Müller eb662661ca feat: enable git rerere 2026-03-17 07:46:48 -03:00
Catriel Müller c29dcdcc60 refactor: clean kilo artifacts before compat commit 2026-03-17 07:46:48 -03:00
Catriel Müller 5b796226c3 refactor: consider kilocode change markers on merge 2026-03-17 07:27:25 -03:00
Catriel Müller 947b8a96f4 refactor: improve branch backup 2026-02-05 13:31:45 -03:00
Catriel Müller bd73c02c27 feat: upstream script wip 2026-02-05 13:31:16 -03:00
Catriel Müller b79517acb8 feat: upstream script wip 2026-02-05 13:31:15 -03:00