From fb730f13f016e684005d2d8b2a4653d4203f15db Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 08 Dec 2018 08:59:27 +0000
Subject: [PATCH] $USER variable in PASSCOMMAND now supported.

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
index 1271ab9..72ee7bf 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
@@ -23,7 +23,7 @@
             cmdLine.addArgument("info");
             cmdLine.addArgument(repoConfig.getRepo());
             DefaultExecutor executor = new DefaultExecutor();
-            //executor.setExitValue(1);
+            //executor.setExitValue(2);
             ExecuteWatchdog watchdog = new ExecuteWatchdog(60000);
             executor.setWatchdog(watchdog);
             ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
@@ -45,7 +45,12 @@
         addEnvironmentVariable(env, "BORG_REPO", repoConfig.getRepo());
         addEnvironmentVariable(env, "BORG_RSH", repoConfig.getRsh());
         addEnvironmentVariable(env, "BORG_PASSPHRASE", repoConfig.getPassphrase());
-        addEnvironmentVariable(env, "BORG_PASSCOMMAND", repoConfig.getPasswordCommand());
+        String passcommand = repoConfig.getPasswordCommand();
+        if (StringUtils.isNotBlank(passcommand)) {
+            // For MacOS BORG_PASSCOMMAND="security find-generic-password -a $USER -s borg-passphrase -w"
+            passcommand = passcommand.replace("$USER", System.getProperty("user.name"));
+            addEnvironmentVariable(env, "BORG_PASSCOMMAND", passcommand);
+        }
         return env;
     }
 

--
Gitblit v1.10.0