mirror of
https://github.com/git/git
synced 2024-08-25 10:45:59 +00:00
![Luke Diamand](/assets/img/avatar_default.png)
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>
39 lines
729 B
Bash
Executable file
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
|