Repository navigation
feat(tool): dotskit upgrade brings a solution to the tool's version of the template, keeping the team's changes - #118
Merged
Merged
Conversation
…f the template, keeping the team's changes - the merge of dotskit new, with the manifest generated by the solution's version as the base and by the tool's as the target - a file the template moved (git diff -M between its two outputs) takes the team's changes to the new path - the manifest's packages: updates minor, patch or none, and pinned versions in any case, written into the template's side before the merge; a pin of no package of the template is reported - the manifest explains its fields in place with _comment_ keys, written on every write and skipped on reading - one major version at a time, each step named from the solution's own major; a version before 2.6.1, the first on nuget.org, is refused with the notes to follow - a version is generated with only the parameters it has, so a manifest of 2.6 that names --Agent generates - init no longer widens the solution by its services: the template alone made the root with the first command, and the base must reproduce it - after writing, the build's errors are listed by project; dotskit new and upgrade share the end of a command, put together in Program.cs - tests: the package policy, moves, the vocabulary of a version, the manifest, the build errors and the refusals as unit tests; solutions of 2.6.1 and 2.7.0 from nuget.org go through init and upgrade, keep a team's line and a pin, build, pass their tests and take a new service - docs: dotskit (EN, RU) on upgrading, the versions it takes and package versions; upgrading.md says which part of 2.7 to 2.8 stays by hand; CONTRIBUTING on the upgrade window and the template's own package policy; the roadmap marks upgrade done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #100.
dotskit upgradeis the merge ofdotskit newwith the manifest generated by the solution's version as the base and by the tool's as the target. What it adds for an upgrade:git diff -Mbetween its two outputs) takes the team's changes to its new path;packages:updatesminor, patch or none, andpinnedversions, written into the template's side before the merge, with a line in the plan for each package that changes or is held;Left out, on purpose: steps 2-3 of "Repairing references" - the repair of project references and
usinglines from an index of where each type lives. No type moves between projects from 2.6.1 to 2.8, and a move is breaking, so 3.0 (#101) is the first that needs it. It is #117, tied to 3.0 in the plan.Found by trying 2.6.2 and fixed here:
--Agentfor 2.6); generation now passes each version only its own, by a table taken from the tags;dotskit init(feat(tool): dotskit init describes a solution made without dotskit, checked by generating it again #116) widened the solution by its services; the template alone leaves the root as the first command made it, so init now keeps the solution as read.Tests: unit tests for the package policy, moves, a version's parameters, the manifest, the build errors and the refusals (123); scenarios take solutions of 2.6.1 and 2.7.0 from nuget.org - the first published minor and the previous one - through init and upgrade, keep a team's line and a pin, build, pass their tests and take a new service with
dotskit new. This also carries the line of #99 "dotskit new adds a service to a 2.7.0 solution".Reviewed before the PR by an agent without context, two rounds: seven findings taken, then closed.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Vefp3uznXHA37YYMCkUouw