lockbox

password manager
Log | Files | Refs | README | LICENSE

commit 15a02dcdfc1dd1cf5b6b0eb22d7c278bdca097b9
parent 6720064918f0cd5726206f8618b4802556fdfe8e
Author: Sean Enck <sean@ttypty.com>
Date:   Sun, 21 Aug 2022 09:50:50 -0400

gitdiff is internalized

Diffstat:
MMakefile | 2+-
Dcmd/lb-gitdiff/main.go | 21---------------------
Mcmd/lb/main.go | 4++++
Ainternal/subcommands/gitdiff.go | 24++++++++++++++++++++++++
Mtests/run.sh | 2+-
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