mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-17 13:27:30 +03:00
update hashes in transcripts
This commit is contained in:
parent
209ced0fc0
commit
35e5453be3
@ -30,7 +30,7 @@ The child branch has a single history node representing the addition of `parent.
|
||||
|
||||
|
||||
|
||||
□ #0pu6u21kb4 (start of history)
|
||||
□ #c9opo30t5h (start of history)
|
||||
|
||||
```
|
||||
If we add another thing to the child namespace it should add another history node to both the child and parent.
|
||||
@ -51,26 +51,26 @@ parent.child.thing2 = "parent.child.thing2"
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #9uakh0rhhe
|
||||
⊙ #go29r9r4ok
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
child.thing2
|
||||
|
||||
□ #gdahjt281d (start of history)
|
||||
□ #rkui6ehfcq (start of history)
|
||||
|
||||
.> history parent.child
|
||||
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #o0ig5fooud
|
||||
⊙ #ab2160llo3
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
thing2
|
||||
|
||||
□ #0pu6u21kb4 (start of history)
|
||||
□ #c9opo30t5h (start of history)
|
||||
|
||||
```
|
||||
## Forking off some history on a separate branch
|
||||
@ -101,19 +101,19 @@ The child should have a new history node after adding `thing3`
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #tppoolbkem
|
||||
⊙ #9jb3t68gad
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
thing3
|
||||
|
||||
⊙ #o0ig5fooud
|
||||
⊙ #ab2160llo3
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
thing2
|
||||
|
||||
□ #0pu6u21kb4 (start of history)
|
||||
□ #c9opo30t5h (start of history)
|
||||
|
||||
```
|
||||
## Saving our parent state
|
||||
@ -143,19 +143,19 @@ For a squash merge, when I squash-merge back into parent, we expect `parent_fork
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #0ddrpnkqfj
|
||||
⊙ #5f07ek0393
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
child.thing3
|
||||
|
||||
⊙ #9uakh0rhhe
|
||||
⊙ #go29r9r4ok
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
child.thing2
|
||||
|
||||
□ #gdahjt281d (start of history)
|
||||
□ #rkui6ehfcq (start of history)
|
||||
|
||||
```
|
||||
Notice that with the current behaviour, the history of `parent.child` is completely wiped out, containing nothing from the source OR destination.
|
||||
@ -166,32 +166,32 @@ Notice that with the current behaviour, the history of `parent.child` is complet
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #o0ig5fooud
|
||||
⊙ #ab2160llo3
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
thing2
|
||||
|
||||
□ #0pu6u21kb4 (start of history)
|
||||
□ #c9opo30t5h (start of history)
|
||||
|
||||
.> history parent_fork.child
|
||||
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #tppoolbkem
|
||||
⊙ #9jb3t68gad
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
thing3
|
||||
|
||||
⊙ #o0ig5fooud
|
||||
⊙ #ab2160llo3
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
thing2
|
||||
|
||||
□ #0pu6u21kb4 (start of history)
|
||||
□ #c9opo30t5h (start of history)
|
||||
|
||||
.> history parent_squash_base.child
|
||||
|
||||
@ -200,7 +200,7 @@ Notice that with the current behaviour, the history of `parent.child` is complet
|
||||
|
||||
|
||||
|
||||
□ #mjdnabl5c5 (start of history)
|
||||
□ #u3n5lkrtde (start of history)
|
||||
|
||||
```
|
||||
## Standard merge
|
||||
@ -226,19 +226,19 @@ For a standard merge, if I merge back into parent, we expect `parent_fork.child.
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #ug6q7n5bos
|
||||
⊙ #tibitdoffj
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
child.thing3
|
||||
|
||||
⊙ #9uakh0rhhe
|
||||
⊙ #go29r9r4ok
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
child.thing2
|
||||
|
||||
□ #gdahjt281d (start of history)
|
||||
□ #rkui6ehfcq (start of history)
|
||||
|
||||
```
|
||||
Child histories should also be *merged*.
|
||||
@ -249,50 +249,50 @@ Child histories should also be *merged*.
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #o0ig5fooud
|
||||
⊙ #ab2160llo3
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
thing2
|
||||
|
||||
□ #0pu6u21kb4 (start of history)
|
||||
□ #c9opo30t5h (start of history)
|
||||
|
||||
.> history parent_fork.child
|
||||
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #tppoolbkem
|
||||
⊙ #9jb3t68gad
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
thing3
|
||||
|
||||
⊙ #o0ig5fooud
|
||||
⊙ #ab2160llo3
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
thing2
|
||||
|
||||
□ #0pu6u21kb4 (start of history)
|
||||
□ #c9opo30t5h (start of history)
|
||||
|
||||
.> history parent_merge_base.child
|
||||
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #tppoolbkem
|
||||
⊙ #9jb3t68gad
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
thing3
|
||||
|
||||
⊙ #o0ig5fooud
|
||||
⊙ #ab2160llo3
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
thing2
|
||||
|
||||
□ #0pu6u21kb4 (start of history)
|
||||
□ #c9opo30t5h (start of history)
|
||||
|
||||
```
|
||||
|
@ -39,13 +39,13 @@ The history of the namespace should still exist if requested explicitly.
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #qjc20aua9h
|
||||
⊙ #3fdue8bl8c
|
||||
|
||||
- Deletes:
|
||||
|
||||
x
|
||||
|
||||
□ #hkrqt3tm05 (start of history)
|
||||
□ #q9cdigs0bo (start of history)
|
||||
|
||||
```
|
||||
Merging an empty namespace should still copy its history if it has some.
|
||||
@ -66,13 +66,13 @@ Merging an empty namespace should still copy its history if it has some.
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #qjc20aua9h
|
||||
⊙ #3fdue8bl8c
|
||||
|
||||
- Deletes:
|
||||
|
||||
x
|
||||
|
||||
□ #hkrqt3tm05 (start of history)
|
||||
□ #q9cdigs0bo (start of history)
|
||||
|
||||
```
|
||||
Add and then delete a term to add some history to a deleted namespace.
|
||||
@ -100,7 +100,7 @@ The history from the `deleted` namespace should have been overwritten by the his
|
||||
|
||||
|
||||
|
||||
□ #3bm1524lb7 (start of history)
|
||||
□ #ag66d092nt (start of history)
|
||||
|
||||
.> history deleted
|
||||
|
||||
@ -109,6 +109,6 @@ The history from the `deleted` namespace should have been overwritten by the his
|
||||
|
||||
|
||||
|
||||
□ #3bm1524lb7 (start of history)
|
||||
□ #ag66d092nt (start of history)
|
||||
|
||||
```
|
||||
|
@ -112,26 +112,26 @@ We can also delete the fork if we're done with it. (Don't worry, it's still in t
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #gj7j96t88n
|
||||
⊙ #d3taki96i4
|
||||
|
||||
- Deletes:
|
||||
|
||||
y
|
||||
|
||||
□ #aqh5c7qsod (start of history)
|
||||
□ #n9ujbbert4 (start of history)
|
||||
|
||||
.> history
|
||||
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #979i457hd7
|
||||
⊙ #o9s7ds4o7a
|
||||
|
||||
- Deletes:
|
||||
|
||||
feature1.y
|
||||
|
||||
⊙ #kb0j8t02ue
|
||||
⊙ #18ecfqhvrs
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
@ -142,26 +142,26 @@ We can also delete the fork if we're done with it. (Don't worry, it's still in t
|
||||
Original name New name(s)
|
||||
feature1.y master.y
|
||||
|
||||
⊙ #bdvh2otcut
|
||||
⊙ #hs3mmjjsm4
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
feature1.y
|
||||
|
||||
⊙ #kt38mg5bug
|
||||
⊙ #ksv285nvf2
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
x master.x
|
||||
|
||||
⊙ #gd173qpcn0
|
||||
⊙ #tp06lqfa83
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
x
|
||||
|
||||
□ #hlflbqjqf9 (start of history)
|
||||
□ #0nh7emi4gr (start of history)
|
||||
|
||||
```
|
||||
To resurrect an old version of a namespace, you can learn its hash via the `history` command, then use `fork #namespacehash .newname`.
|
||||
|
@ -59,17 +59,17 @@ y = 2
|
||||
most recent, along with the command that got us there. Try:
|
||||
|
||||
`fork 2 .old`
|
||||
`fork #b9ghmnv7v4 .old` to make an old namespace
|
||||
`fork #vc4djot72t .old` to make an old namespace
|
||||
accessible again,
|
||||
|
||||
`reset-root #b9ghmnv7v4` to reset the root namespace and
|
||||
`reset-root #vc4djot72t` to reset the root namespace and
|
||||
its history to that of the
|
||||
specified namespace.
|
||||
|
||||
1. #rggkaa5ori : add
|
||||
2. #b9ghmnv7v4 : add
|
||||
3. #hlflbqjqf9 : builtins.merge
|
||||
4. #sg60bvjo91 : (initial reflogged namespace)
|
||||
1. #t7bqg5kp79 : add
|
||||
2. #vc4djot72t : add
|
||||
3. #0nh7emi4gr : builtins.merge
|
||||
4. #n6ulbn64d1 : (initial reflogged namespace)
|
||||
|
||||
```
|
||||
If we `reset-root` to its previous value, `y` disappears.
|
||||
|
@ -13,7 +13,7 @@ Let's look at some examples. We'll start with a namespace with just the builtins
|
||||
|
||||
|
||||
|
||||
□ #hfao0gunaf (start of history)
|
||||
□ #to0o8q3su1 (start of history)
|
||||
|
||||
.> fork builtin builtin2
|
||||
|
||||
@ -42,21 +42,21 @@ Now suppose we `fork` a copy of builtin, then rename `Nat.+` to `frobnicate`, th
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #jnnhsl20gn
|
||||
⊙ #bvd9nf4u37
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
Nat.frobnicate Nat.+
|
||||
|
||||
⊙ #b61495giqo
|
||||
⊙ #ee0acgvh97
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
Nat.+ Nat.frobnicate
|
||||
|
||||
□ #hfao0gunaf (start of history)
|
||||
□ #to0o8q3su1 (start of history)
|
||||
|
||||
```
|
||||
If we merge that back into `builtin`, we get that same chain of history:
|
||||
@ -71,21 +71,21 @@ If we merge that back into `builtin`, we get that same chain of history:
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #jnnhsl20gn
|
||||
⊙ #bvd9nf4u37
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
Nat.frobnicate Nat.+
|
||||
|
||||
⊙ #b61495giqo
|
||||
⊙ #ee0acgvh97
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
Nat.+ Nat.frobnicate
|
||||
|
||||
□ #hfao0gunaf (start of history)
|
||||
□ #to0o8q3su1 (start of history)
|
||||
|
||||
```
|
||||
Let's try again, but using a `merge.squash` (or just `squash`) instead. The history will be unchanged:
|
||||
@ -106,7 +106,7 @@ Let's try again, but using a `merge.squash` (or just `squash`) instead. The hist
|
||||
|
||||
|
||||
|
||||
□ #hfao0gunaf (start of history)
|
||||
□ #to0o8q3su1 (start of history)
|
||||
|
||||
```
|
||||
The churn that happened in `mybuiltin` namespace ended up back in the same spot, so the squash merge of that namespace with our original namespace had no effect.
|
||||
@ -485,13 +485,13 @@ This checks to see that squashing correctly preserves deletions:
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ #da2tmjvh5i
|
||||
⊙ #26ang33omm
|
||||
|
||||
- Deletes:
|
||||
|
||||
Nat.* Nat.+
|
||||
|
||||
□ #hfao0gunaf (start of history)
|
||||
□ #to0o8q3su1 (start of history)
|
||||
|
||||
```
|
||||
Notice that `Nat.+` and `Nat.*` are deleted by the squash, and we see them deleted in one atomic step in the history.
|
||||
|
Loading…
Reference in New Issue
Block a user