File view with blame information shown in the left gutter beside each line.

barerepo / cli / cmd/br/main.go
57 lines · 1.4kb · master
log files threads runs releases config jump to file t
7b321bc barerepo 1mo
1
package main
7b321bc barerepo 1mo
2
7b321bc barerepo 1mo
3
import (
7b321bc barerepo 1mo
4
"context"
7b321bc barerepo 1mo
5
"fmt"
7b321bc barerepo 1mo
6
"os"
7b321bc barerepo 1mo
7
)
7b321bc barerepo 1mo
8
7b321bc barerepo 1mo
9
const usage = `br
7b321bc barerepo 1mo
10
7b321bc barerepo 1mo
11
br auth <name> [server] sign in, prints a link to open
7b321bc barerepo 1mo
12
br propose [remote] push HEAD to refs/proposals/new
7b321bc barerepo 1mo
13
br fetch <n> fetch proposal n to the branch prop-n
7b321bc barerepo 1mo
14
br notes fetch every note ref
7b321bc barerepo 1mo
15
br threads list the threads you have fetched
7b321bc barerepo 1mo
16
br thread <n> print thread n
7b321bc barerepo 1mo
17
br reply <n> -m <msg> append a comment and push the note
7b321bc barerepo 1mo
18
7b321bc barerepo 1mo
19
Every command prints the git it runs before it runs it. Nothing here is
7b321bc barerepo 1mo
20
required: each one is a shortcut for a command you can type yourself.
7b321bc barerepo 1mo
21
`
7b321bc barerepo 1mo
22
7b321bc barerepo 1mo
23
func main() {
7b321bc barerepo 1mo
24
if err := run(os.Args[1:]); err != nil {
7b321bc barerepo 1mo
25
fmt.Fprintln(os.Stderr, "br: "+err.Error())
7b321bc barerepo 1mo
26
os.Exit(1)
7b321bc barerepo 1mo
27
}
7b321bc barerepo 1mo
28
}
7b321bc barerepo 1mo
29
7b321bc barerepo 1mo
30
func run(args []string) error {
7b321bc barerepo 1mo
31
if len(args) == 0 {
7b321bc barerepo 1mo
32
fmt.Print(usage)
7b321bc barerepo 1mo
33
return nil
7b321bc barerepo 1mo
34
}
7b321bc barerepo 1mo
35
ctx := context.Background()
7b321bc barerepo 1mo
36
switch args[0] {
7b321bc barerepo 1mo
37
case "auth":
7b321bc barerepo 1mo
38
return cmdAuth(ctx, args[1:])
7b321bc barerepo 1mo
39
case "propose":
7b321bc barerepo 1mo
40
return cmdPropose(ctx, args[1:])
7b321bc barerepo 1mo
41
case "fetch":
7b321bc barerepo 1mo
42
return cmdFetchProposal(ctx, args[1:])
7b321bc barerepo 1mo
43
case "notes":
7b321bc barerepo 1mo
44
return cmdNotes(ctx, args[1:])
7b321bc barerepo 1mo
45
case "threads":
7b321bc barerepo 1mo
46
return cmdThreads(ctx, args[1:])
7b321bc barerepo 1mo
47
case "thread":
7b321bc barerepo 1mo
48
return cmdThread(ctx, args[1:])
7b321bc barerepo 1mo
49
case "reply":
7b321bc barerepo 1mo
50
return cmdReply(ctx, args[1:])
7b321bc barerepo 1mo
51
case "help", "-h", "--help":
7b321bc barerepo 1mo
52
fmt.Print(usage)
7b321bc barerepo 1mo
53
return nil
7b321bc barerepo 1mo
54
default:
7b321bc barerepo 1mo
55
return fmt.Errorf("%q is not a br command. run br with no arguments to see them", args[0])
7b321bc barerepo 1mo
56
}
7b321bc barerepo 1mo
57
}
history · rawbarerepo 0.1.0