7b321bc barerepo 1mo
1
package main
7b321bc barerepo 1mo
3
import (
7b321bc barerepo 1mo
4
"context"
7b321bc barerepo 1mo
5
"fmt"
7b321bc barerepo 1mo
6
"os"
7b321bc barerepo 1mo
9
const usage = `br
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
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
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
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
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])