unison/unison-src/transcripts/branch-command.md

1.6 KiB

The branch command creates a new branch.

.> builtins.merge
.> project.create-empty foo
.> project.create-empty bar

First, we'll just create a loose code namespace with a term in it for later.

someterm = 18
.some.loose.code> add

Now, the branch demo:

branch can create a branch from a different branch in the same project, from a different branch in a different project, or from loose code. It can also create an empty branch.

foo/main> branch topic1
foo/main> branch /topic2
foo/main> branch foo/topic3
foo/main> branch main topic4
foo/main> branch main /topic5
foo/main> branch main foo/topic6
foo/main> branch /main topic7
foo/main> branch /main /topic8
foo/main> branch /main foo/topic9
foo/main> branch foo/main topic10
foo/main> branch foo/main /topic11
.> branch foo/main foo/topic12

foo/main> branch bar/topic
bar/main> branch foo/main topic2
bar/main> branch foo/main /topic3
.> branch foo/main bar/topic4

.some.loose.code> branch foo/topic13
foo/main> branch .some.loose.code topic14
foo/main> branch .some.loose.code /topic15
.> branch .some.loose.code foo/topic16

foo/main> branch.empty empty1
foo/main> branch.empty /empty2
foo/main> branch.empty foo/empty3
.> branch.empty foo/empty4

The branch command can create branches named releases/drafts/* (because why not).

foo/main> branch releases/drafts/1.2.3
foo/main> switch /releases/drafts/1.2.3

The branch command can't create branches named releases/* nor releases/drafts/*.

foo/main> branch releases/1.2.3
foo/main> switch /releases/1.2.3