mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-21 07:17:25 +03:00
176 lines
3.1 KiB
Markdown
176 lines
3.1 KiB
Markdown
|
Checks that squash and merge do the same thing, with nontrivial history that
|
||
|
includes a merge conflict.
|
||
|
|
||
|
```unison
|
||
|
x.a.a = "af"
|
||
|
```
|
||
|
|
||
|
```ucm
|
||
|
|
||
|
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`:
|
||
|
|
||
|
x.a.a : Text
|
||
|
|
||
|
```
|
||
|
```ucm
|
||
|
.> add
|
||
|
|
||
|
⍟ I've added these definitions:
|
||
|
|
||
|
x.a.a : Text
|
||
|
|
||
|
.> fork x y
|
||
|
|
||
|
Done.
|
||
|
|
||
|
.> fork x s
|
||
|
|
||
|
Done.
|
||
|
|
||
|
.> fork x m
|
||
|
|
||
|
Done.
|
||
|
|
||
|
.> delete y.a.a
|
||
|
|
||
|
Name changes:
|
||
|
|
||
|
Original Changes
|
||
|
1. m.a.a ┐ 2. y.a.a (removed)
|
||
|
3. s.a.a │
|
||
|
4. x.a.a │
|
||
|
5. y.a.a ┘
|
||
|
|
||
|
Tip: You can use `undo` or `reflog` to undo this change.
|
||
|
|
||
|
```
|
||
|
```unison
|
||
|
y.a.a = "fij"
|
||
|
```
|
||
|
|
||
|
```ucm
|
||
|
|
||
|
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`:
|
||
|
|
||
|
y.a.a : Text
|
||
|
|
||
|
```
|
||
|
```ucm
|
||
|
.> add
|
||
|
|
||
|
⍟ I've added these definitions:
|
||
|
|
||
|
y.a.a : Text
|
||
|
|
||
|
```
|
||
|
```unison
|
||
|
y.b.a = "wie"
|
||
|
```
|
||
|
|
||
|
```ucm
|
||
|
|
||
|
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`:
|
||
|
|
||
|
y.b.a : Text
|
||
|
|
||
|
```
|
||
|
```ucm
|
||
|
.> add
|
||
|
|
||
|
⍟ I've added these definitions:
|
||
|
|
||
|
y.b.a : Text
|
||
|
|
||
|
.> merge y.b y.a
|
||
|
|
||
|
Here's what's changed in y.a after the merge:
|
||
|
|
||
|
New name conflicts:
|
||
|
|
||
|
1. a#a3ef1630bu : Text
|
||
|
↓
|
||
|
2. ┌ a#a3ef1630bu : Text
|
||
|
3. └ a#fjqpdmdeqi : Text
|
||
|
|
||
|
Tip: You can use `todo` to see if this generated any work to
|
||
|
do in this namespace and `test` to run the tests. Or you
|
||
|
can use `undo` or `reflog` to undo the results of this
|
||
|
merge.
|
||
|
|
||
|
.> delete.term 1
|
||
|
|
||
|
Resolved name conflicts:
|
||
|
|
||
|
1. ┌ y.a.a#a3ef1630bu : Text
|
||
|
2. └ y.a.a#fjqpdmdeqi : Text
|
||
|
↓
|
||
|
3. y.a.a#fjqpdmdeqi : Text
|
||
|
|
||
|
Tip: You can use `undo` or `reflog` to undo this change.
|
||
|
|
||
|
.> merge y m
|
||
|
|
||
|
Here's what's changed in m after the merge:
|
||
|
|
||
|
Updates:
|
||
|
|
||
|
1. a.a : Text
|
||
|
↓
|
||
|
2. a.a : Text
|
||
|
|
||
|
Added definitions:
|
||
|
|
||
|
3. ┌ a.a : Text
|
||
|
4. └ b.a : Text
|
||
|
|
||
|
Tip: You can use `todo` to see if this generated any work to
|
||
|
do in this namespace and `test` to run the tests. Or you
|
||
|
can use `undo` or `reflog` to undo the results of this
|
||
|
merge.
|
||
|
|
||
|
.> squash y s
|
||
|
|
||
|
Here's what's changed in s after the merge:
|
||
|
|
||
|
New name conflicts:
|
||
|
|
||
|
1. a.a#0gr1q8f2jk : Text
|
||
|
↓
|
||
|
2. ┌ a.a#0gr1q8f2jk : Text
|
||
|
3. └ a.a#fjqpdmdeqi : Text
|
||
|
|
||
|
Added definitions:
|
||
|
|
||
|
4. ┌ a.a#fjqpdmdeqi : Text
|
||
|
5. └ b.a : Text
|
||
|
|
||
|
Tip: You can use `todo` to see if this generated any work to
|
||
|
do in this namespace and `test` to run the tests. Or you
|
||
|
can use `undo` or `reflog` to undo the results of this
|
||
|
merge.
|
||
|
|
||
|
.s> todo
|
||
|
|
||
|
❓
|
||
|
|
||
|
These terms have conflicting definitions: a.a
|
||
|
|
||
|
Tip: This occurs when merging branches that both independently
|
||
|
introduce the same name. Use `view a.a` to see the
|
||
|
conflicting defintions, then use `move.term` to resolve
|
||
|
the conflicts.
|
||
|
|
||
|
```
|