git/t/t9820-git-p4-editor-handling.sh
Luke Diamand 2dade7a7b2 git-p4: fix handling of multi-word P4EDITOR
This teaches git-p4 to pass the P4EDITOR variable to the
shell for expansion, so that any command-line arguments are
correctly handled. Without this, git-p4 can only launch the
editor if P4EDITOR is solely the path to the binary, without
any arguments.

This also adjusts t9805, which relied on the previous behaviour.

Suggested-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-05-24 11:50:12 -07:00

39 lines
729 B
Bash
Executable File

#!/bin/sh
test_description='git p4 handling of EDITOR'
. ./lib-git-p4.sh
test_expect_success 'start p4d' '
start_p4d
'
test_expect_success 'init depot' '
(
cd "$cli" &&
echo file1 >file1 &&
p4 add file1 &&
p4 submit -d "file1"
)
'
# Check that the P4EDITOR argument can be given command-line
# options, which git-p4 will then pass through to the shell.
test_expect_success 'EDITOR with options' '
git p4 clone --dest="$git" //depot &&
test_when_finished cleanup_git &&
(
cd "$git" &&
echo change >file1 &&
git commit -m "change" file1 &&
P4EDITOR=": >\"$git/touched\" && test-chmtime +5" git p4 submit &&
test_path_is_file "$git/touched"
)
'
test_expect_success 'kill p4d' '
kill_p4d
'
test_done