summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2017-11-24 23:33:06 -0500
committerLuke Shumaker <lukeshu@lukeshu.com>2017-11-24 23:33:06 -0500
commit9d38dfb06fe49531a22114ce90a1a342fbdbe319 (patch)
treec7d440e0e7f5121bcda69f489b1a39fe0f7d2597
parent12a26fba6ee92d7a01b56301da8a1efae6bd58b0 (diff)
make executable
-rw-r--r--filter.go2
-rw-r--r--git.go2
-rw-r--r--heuristics.go2
-rw-r--r--main.go46
4 files changed, 49 insertions, 3 deletions
diff --git a/filter.go b/filter.go
index 0edecba..dec3cd8 100644
--- a/filter.go
+++ b/filter.go
@@ -1,4 +1,4 @@
-package svn2git2aur
+package main
import (
"bytes"
diff --git a/git.go b/git.go
index 1adb461..d43c05d 100644
--- a/git.go
+++ b/git.go
@@ -1,4 +1,4 @@
-package svn2git2aur
+package main
import (
"bytes"
diff --git a/heuristics.go b/heuristics.go
index 1ae4395..9fc44e5 100644
--- a/heuristics.go
+++ b/heuristics.go
@@ -1,4 +1,4 @@
-package svn2git2aur
+package main
import (
"path"
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..ad158c1
--- /dev/null
+++ b/main.go
@@ -0,0 +1,46 @@
+package main
+
+import (
+ "fmt"
+ "io"
+ "os"
+ "strings"
+)
+
+func usage(w io.Writer) {
+ fmt.Fprintf(w, "Usage: %s refs/FROM_REFNAME refs/TO_PREFIX\n", os.Args[0])
+ fmt.Fprintf(w, " or: %s -h|--help\n", os.Args[0])
+ fmt.Fprintf(w, "Read an Arch Linux svn2git branch, and turn it into AUR-style branches\n")
+}
+
+func main() {
+ for _, arg := range os.Args[1:] {
+ switch arg {
+ case "-h", "--help":
+ usage(os.Stdout)
+ os.Exit(0)
+ }
+ }
+ if len(os.Args) != 3 {
+ usage(os.Stderr)
+ os.Exit(2)
+ }
+ fromRef := os.Args[1]
+ toPfx := os.Args[2]
+ if !strings.HasPrefix(fromRef, "refs/") || !strings.HasPrefix(fromRef, "refs/") {
+ fmt.Fprintln(os.Stderr, "ref names and prefixes must start with \"refs/\"")
+ usage(os.Stderr)
+ os.Exit(2)
+ }
+
+ filter, err := NewFilter(fromRef, toPfx)
+ if err != nil {
+ fmt.Fprintln(os.Stderr, "Could not initialize filter:", err)
+ os.Exit(1)
+ }
+ err = filter.Run()
+ if err != nil {
+ fmt.Fprintln(os.Stderr, "Error:", err)
+ os.Exit(1)
+ }
+}