diff --git a/git-p4.py b/git-p4.py index ff132b2117c5ed7529d6b1237a9f26069cb4ef8a..de06046d60f30edf615b3a6ff80c6b71b9a438ad 100755 --- a/git-p4.py +++ b/git-p4.py @@ -1220,7 +1220,7 @@ def edit_template(self, template_file): editor = os.environ.get("P4EDITOR") else: editor = read_pipe("git var GIT_EDITOR").strip() - system([editor, template_file]) + system(["sh", "-c", ('%s "$@"' % editor), editor, template_file]) # If the file was not saved, prompt to see if this patch should # be skipped. But skip this verification step if configured so. diff --git a/t/t9805-git-p4-skip-submit-edit.sh b/t/t9805-git-p4-skip-submit-edit.sh index 89311886db168e6613fa98d9c7a340d460435585..5fbf904dc8f4df7de522d0eecbca133d7299259d 100755 --- a/t/t9805-git-p4-skip-submit-edit.sh +++ b/t/t9805-git-p4-skip-submit-edit.sh @@ -90,7 +90,7 @@ test_expect_success 'no config, edited' ' cd "$git" && echo line >>file1 && git commit -a -m "change 5" && - P4EDITOR="$TRASH_DIRECTORY/ed.sh" && + P4EDITOR="\"$TRASH_DIRECTORY/ed.sh\"" && export P4EDITOR && git p4 submit && p4 changes //depot/... >wc && diff --git a/t/t9820-git-p4-editor-handling.sh b/t/t9820-git-p4-editor-handling.sh index abaa0663b837631f732352dc9fa0e6c354c2aa26..6dc6df032ec0c15b39dccd24ade52580fc115add 100755 --- a/t/t9820-git-p4-editor-handling.sh +++ b/t/t9820-git-p4-editor-handling.sh @@ -19,7 +19,7 @@ test_expect_success 'init depot' ' # Check that the P4EDITOR argument can be given command-line # options, which git-p4 will then pass through to the shell. -test_expect_failure 'EDITOR with options' ' +test_expect_success 'EDITOR with options' ' git p4 clone --dest="$git" //depot && test_when_finished cleanup_git && (