1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-01-01 12:45:34 +00:00

Merge pull request #7924 from ThomasWaldmann/fix-subcommand-env-master

create --*-from-command: run subcommands with a clean environment, fixes #7916
This commit is contained in:
TW 2023-11-09 00:43:57 +01:00 committed by GitHub
commit 3de808b4e5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -25,6 +25,7 @@
from ..helpers import log_multi
from ..helpers import basic_json_data, json_print
from ..helpers import flags_dir, flags_special_follow, flags_special
from ..helpers import prepare_subprocess_env
from ..helpers import sig_int, ignore_sigint
from ..helpers import iter_separated
from ..helpers import MakePathSafeAction
@ -70,8 +71,12 @@ def create_inner(archive, cache, fso):
if not dry_run:
try:
try:
env = prepare_subprocess_env(system=True)
proc = subprocess.Popen(
args.paths, stdout=subprocess.PIPE, preexec_fn=None if is_win32 else ignore_sigint
args.paths,
stdout=subprocess.PIPE,
env=env,
preexec_fn=None if is_win32 else ignore_sigint,
)
except (FileNotFoundError, PermissionError) as e:
self.print_error("Failed to execute command: %s", e)
@ -93,8 +98,9 @@ def create_inner(archive, cache, fso):
paths_sep = eval_escapes(args.paths_delimiter) if args.paths_delimiter is not None else "\n"
if args.paths_from_command:
try:
env = prepare_subprocess_env(system=True)
proc = subprocess.Popen(
args.paths, stdout=subprocess.PIPE, preexec_fn=None if is_win32 else ignore_sigint
args.paths, stdout=subprocess.PIPE, env=env, preexec_fn=None if is_win32 else ignore_sigint
)
except (FileNotFoundError, PermissionError) as e:
self.print_error("Failed to execute command: %s", e)