From 2f4e57d41b8d328bcd89adb345e32f4fc3894e20 Mon Sep 17 00:00:00 2001 From: Chris Penner Date: Wed, 10 Jul 2024 11:05:13 -0700 Subject: [PATCH] Fix Upgrade --- .../Codebase/Editor/HandleInput/Upgrade.hs | 17 +++++++++-------- .../transcripts/upgrade-sad-path.output.md | 3 +-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/unison-cli/src/Unison/Codebase/Editor/HandleInput/Upgrade.hs b/unison-cli/src/Unison/Codebase/Editor/HandleInput/Upgrade.hs index b34a92692..454e530f1 100644 --- a/unison-cli/src/Unison/Codebase/Editor/HandleInput/Upgrade.hs +++ b/unison-cli/src/Unison/Codebase/Editor/HandleInput/Upgrade.hs @@ -19,7 +19,7 @@ import Unison.Cli.ProjectUtils qualified as Cli import Unison.Codebase qualified as Codebase import Unison.Codebase.Branch qualified as Branch import Unison.Codebase.Branch.Names qualified as Branch -import Unison.Codebase.Editor.HandleInput.Branch (CreateFrom (CreateFrom'ParentBranch)) +import Unison.Codebase.Editor.HandleInput.Branch (CreateFrom (..)) import Unison.Codebase.Editor.HandleInput.Branch qualified as HandleInput.Branch import Unison.Codebase.Editor.HandleInput.Update2 ( addDefinitionsToUnisonFile, @@ -70,13 +70,14 @@ handleUpgrade oldName newName = do let oldPath = Path.Absolute (Path.fromList [NameSegment.libSegment, oldName]) let newPath = Path.Absolute (Path.fromList [NameSegment.libSegment, newName]) - currentNamespace <- Cli.getCurrentProjectRoot0 - let currentNamespaceSansOld = Branch.deleteLibdep oldName currentNamespace - let currentDeepTermsSansOld = Branch.deepTerms currentNamespaceSansOld - let currentDeepTypesSansOld = Branch.deepTypes currentNamespaceSansOld - let currentLocalNames = Branch.toNames (Branch.deleteLibdeps currentNamespace) + currentNamespace <- Cli.getCurrentProjectRoot + let currentNamespaceSansOld = currentNamespace & Branch.step (Branch.deleteLibdep oldName) + let currentNamespaceSansOld0 = Branch.head currentNamespaceSansOld + let currentDeepTermsSansOld = Branch.deepTerms currentNamespaceSansOld0 + let currentDeepTypesSansOld = Branch.deepTypes currentNamespaceSansOld0 + let currentLocalNames = Branch.toNames (Branch.deleteLibdeps $ Branch.head currentNamespace) let currentLocalConstructorNames = forwardCtorNames currentLocalNames - let currentDeepNamesSansOld = Branch.toNames currentNamespaceSansOld + let currentDeepNamesSansOld = Branch.toNames currentNamespaceSansOld0 oldNamespace <- Cli.expectBranch0AtPath' (Path.AbsolutePath' oldPath) let oldLocalNamespace = Branch.deleteLibdeps oldNamespace @@ -158,7 +159,7 @@ handleUpgrade oldName newName = do (_temporaryBranchId, temporaryBranchName) <- HandleInput.Branch.createBranch textualDescriptionOfUpgrade - (CreateFrom'ParentBranch projectBranch) + (CreateFrom'NamespaceWithParent projectBranch currentNamespaceSansOld) project getTemporaryBranchName scratchFilePath <- diff --git a/unison-src/transcripts/upgrade-sad-path.output.md b/unison-src/transcripts/upgrade-sad-path.output.md index db089be32..f0811cd8e 100644 --- a/unison-src/transcripts/upgrade-sad-path.output.md +++ b/unison-src/transcripts/upgrade-sad-path.output.md @@ -93,13 +93,12 @@ proj/main> view thingy thingy : Int thingy = use Int + - new.foo + +10 + foo + +10 proj/main> ls lib 1. builtin/ (469 terms, 74 types) 2. new/ (1 term) - 3. old/ (1 term) proj/main> branches