mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-11 02:25:39 +03:00
This is for consistency with the `cmark` style. Now the blocks we still pretty-print ourselves will match the bulk of them that `cmark` produces.
81 lines
1.4 KiB
Markdown
81 lines
1.4 KiB
Markdown
``` unison
|
|
lib.old.foo = 25
|
|
lib.new.foo = +30
|
|
a.x.x.x.x = 100
|
|
b.x.x.x.x = 100
|
|
c.y.y.y.y = lib.old.foo + 10
|
|
d.y.y.y.y = lib.old.foo + 10
|
|
bar = a.x.x.x.x + c.y.y.y.y
|
|
```
|
|
|
|
``` 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`:
|
|
|
|
a.x.x.x.x : Nat
|
|
b.x.x.x.x : Nat
|
|
bar : Nat
|
|
c.y.y.y.y : Nat
|
|
d.y.y.y.y : Nat
|
|
lib.new.foo : Int
|
|
lib.old.foo : Nat
|
|
|
|
```
|
|
``` ucm
|
|
myproject/main> add
|
|
|
|
⍟ I've added these definitions:
|
|
|
|
a.x.x.x.x : Nat
|
|
b.x.x.x.x : Nat
|
|
bar : Nat
|
|
c.y.y.y.y : Nat
|
|
d.y.y.y.y : Nat
|
|
lib.new.foo : Int
|
|
lib.old.foo : Nat
|
|
|
|
```
|
|
``` ucm
|
|
myproject/main> upgrade old new
|
|
|
|
I couldn't automatically upgrade old to new. However, I've
|
|
added the definitions that need attention to the top of
|
|
scratch.u.
|
|
|
|
When you're done, you can run
|
|
|
|
upgrade.commit
|
|
|
|
to merge your changes back into main and delete the temporary
|
|
branch. Or, if you decide to cancel the upgrade instead, you
|
|
can run
|
|
|
|
delete.branch /upgrade-old-to-new
|
|
|
|
to delete the temporary branch and switch back to main.
|
|
|
|
```
|
|
``` unison:added-by-ucm scratch.u
|
|
bar : Nat
|
|
bar =
|
|
use Nat +
|
|
x + c.y.y.y.y
|
|
|
|
c.y.y.y.y : Nat
|
|
c.y.y.y.y =
|
|
use Nat +
|
|
foo + 10
|
|
|
|
d.y.y.y.y : Nat
|
|
d.y.y.y.y =
|
|
use Nat +
|
|
foo + 10
|
|
```
|
|
|