3 ms·
> no merge conflicts In what sense? I mean, in the following code # version 0 name = "bob" I branch and change to # version 1 name = "alice" And y
by geysersam 3y ago
> no merge conflicts
In what sense?
I mean, in the following code
# version 0
name = "bob"
I branch and change to
# version 1
name = "alice"
And you update the main branch to
# version 2
name = "clair"
Then I'll still have a merge conflict right?
How does a content addressed AST solve the problem of having a different intent?
- oftenwrong 3y agoDefinitions are immutable. Changes to the codebase may add new definitions, but cannot change existing definitions. The codebase only grows larger as it is changed. To give an analogy, it's like having a git repo where the only change you can commit is to add new files; you will never have a conflict with such a restriction. However, Unison does make use of names. You can change 'name' to point to a new definition, but it does not affect existing definitions that depended on the old definition for 'name'. https://www.unison-lang.org/learn/usage-topics/workflow-how-tos/resolve-conflicts/ https://www.unison-lang.org/learn/usage-topics/workflow-how-...