commit 15a02dcdfc1dd1cf5b6b0eb22d7c278bdca097b9
parent 6720064918f0cd5726206f8618b4802556fdfe8e
Author: Sean Enck <sean@ttypty.com>
Date: Sun, 21 Aug 2022 09:50:50 -0400
gitdiff is internalized
Diffstat:
5 files changed, 30 insertions(+), 23 deletions(-)
diff --git a/Makefile b/Makefile
@@ -1,7 +1,7 @@
VERSION := development
DESTDIR :=
BUILD := bin/
-TARGETS := $(BUILD)lb $(BUILD)lb-rekey $(BUILD)lb-gitdiff $(BUILD)lb-totp
+TARGETS := $(BUILD)lb $(BUILD)lb-rekey $(BUILD)lb-totp
LIBEXEC := $(DESTDIR)libexec/lockbox/
MAIN := $(DESTDIR)bin/lb
TESTDIR := $(sort $(dir $(wildcard internal/**/*_test.go)))
diff --git a/cmd/lb-gitdiff/main.go b/cmd/lb-gitdiff/main.go
@@ -1,21 +0,0 @@
-// lockbox support for git+diff operations.
-package main
-
-import (
- "fmt"
- "os"
-
- "github.com/enckse/lockbox/internal/encrypt"
- "github.com/enckse/lockbox/internal/misc"
-)
-
-func main() {
- args := os.Args
- result, err := encrypt.FromFile(args[len(args)-1])
- if err != nil {
- misc.Die("unable to read file", err)
- }
- if result != nil {
- fmt.Println(string(result))
- }
-}
diff --git a/cmd/lb/main.go b/cmd/lb/main.go
@@ -163,6 +163,10 @@ func main() {
if err := subcommands.ClearClipboardCallback(); err != nil {
misc.Die("failed to handle clipboard clear", err)
}
+ case "gitdiff":
+ if err := subcommands.GitDiff(args[2:]); err != nil {
+ misc.Die("git-diff failed", err)
+ }
case "rw":
if err := subcommands.ReadWrite(args[2:]); err != nil {
misc.Die("read/write failed", err)
diff --git a/internal/subcommands/gitdiff.go b/internal/subcommands/gitdiff.go
@@ -0,0 +1,24 @@
+// Package subcommands handles git diffs.
+package subcommands
+
+import (
+ "errors"
+ "fmt"
+
+ "github.com/enckse/lockbox/internal/encrypt"
+)
+
+// GitDiff handles git diffing of lb entries.
+func GitDiff(args []string) error {
+ if len(args) == 0 {
+ return errors.New("git diff requires a file")
+ }
+ result, err := encrypt.FromFile(args[len(args)-1])
+ if err != nil {
+ return err
+ }
+ if result != nil {
+ fmt.Println(string(result))
+ }
+ return nil
+}
diff --git a/tests/run.sh b/tests/run.sh
@@ -45,7 +45,7 @@ _run() {
echo "5ae472abqdekjqykoyxk7hvc2leklq5n" | "$BIN/lb" insert test/totp
"$BIN/lb-totp" -list
"$BIN/lb-totp" test | tr '[:digit:]' 'X'
- "$BIN/lb-gitdiff" bin/lb/keys/one.lb bin/lb/keys/one2.lb
+ "$BIN/lb" "gitdiff" bin/lb/keys/one.lb bin/lb/keys/one2.lb
yes 2>/dev/null | "$BIN/lb" rm keys2/three
echo
yes 2>/dev/null | "$BIN/lb" rm test/totp