commit failing transcript

This commit is contained in:
Mitchell Rosen 2024-06-10 13:56:12 -04:00
parent c758076b70
commit 528c2a1cd6
2 changed files with 169 additions and 0 deletions

View File

@ -1367,3 +1367,49 @@ project/alice> merge /bob
```ucm:hide
.> project.delete project
```
## Regression tests
### Delete one alias and update the other
```ucm:hide
.> project.create-empty project
project/main> builtins.mergeio
```
```unison
foo = 17
bar = 17
```
```ucm
project/main> add
project/main> branch alice
project/alice> delete.term bar
```
```unison
foo = 18
```
```ucm
project/alice> update
project/main> branch bob
```
```unison
bob = 101
```
```ucm
project/bob> add
```
```ucm:error
project/alice> merge /bob
```
```ucm:hide
.> project.delete project
```

View File

@ -1322,3 +1322,126 @@ project/alice> merge /bob
I merged project/bob into project/alice.
```
## Regression tests
### Delete one alias and update the other
```unison
foo = 17
bar = 17
```
```ucm
Loading changes detected in scratch.u.
I found and typechecked these definitions in scratch.u. If you
do an `add` or `update`, here's how your codebase would
change:
⍟ These new definitions are ok to `add`:
bar : Nat
foo : Nat
```
```ucm
project/main> add
⍟ I've added these definitions:
bar : Nat
foo : Nat
project/main> branch alice
Done. I've created the alice branch based off of main.
Tip: To merge your work back into the main branch, first
`switch /main` then `merge /alice`.
project/alice> delete.term bar
Done.
```
```unison
foo = 18
```
```ucm
Loading changes detected in scratch.u.
I found and typechecked these definitions in scratch.u. If you
do an `add` or `update`, here's how your codebase would
change:
⍟ These names already exist. You can `update` them to your
new definition:
foo : Nat
```
```ucm
project/alice> update
Okay, I'm searching the branch for code that needs to be
updated...
Done.
project/main> branch bob
Done. I've created the bob branch based off of main.
Tip: To merge your work back into the main branch, first
`switch /main` then `merge /bob`.
```
```unison
bob = 101
```
```ucm
Loading changes detected in scratch.u.
I found and typechecked these definitions in scratch.u. If you
do an `add` or `update`, here's how your codebase would
change:
⍟ These new definitions are ok to `add`:
bob : Nat
```
```ucm
project/bob> add
⍟ I've added these definitions:
bob : Nat
```
```ucm
project/alice> merge /bob
Sorry, I wasn't able to perform the merge:
On the merge ancestor, foo and bar were aliases for the same
definition, but on project/alice the names have different
definitions currently. I'd need just a single new definition
to use in their dependents when I merge.
Please fix up project/alice to resolve this. For example,
* `update` the definitions to be the same again, so that
there's nothing for me to decide.
* `move` or `delete` all but one of the definitions; I'll
use the remaining name when propagating updates.
and then try merging again.
```